搭建Hadoop的环境
准备实验的环境:
1、安装linux、jdk
2、配置主机名、免密码登录
3、约定:安装目录:/usr/local/bin
安装:
1、解压 : tar -zxvf hadoop-2.7.7.tar.gz -c /usr/local/bin/
2、设置环境变量: vi ~/.bash_profile
hadoop_home=/usr/local/bin/hadoop-2.7.7
export hadoop_home
path=$hadoop_home/bin:$hadoop_home/sbin:$path
export path
/usr/local/bin/hadoop-2.7.7
生效环境变量: source ~/.bash_profile
第一节:hadoop的目录结构
第二节:hadoop的本地模式
1、特点:不具备hdfs,只能测试mapreduce程序
2、修改hadoop-env.sh
修改第27行:export java_home=/root/training/jdk1.7.0_75
3、演示demo: $hadoop_home/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar
命令:hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /root/data/input/data.txt /root/data/output/wc
日志:17/08/04 23:28:38 info mapreduce.job: map 100% reduce 100%
注意:mr有一个默认的排序规则
第三节:hadoop的伪分布模式
1、特点:具备hadoop的所有功能,在单机上模拟一个分布式的环境
(1)hdfs:主:namenode,数据节点:datanode
(2)yarn:容器,运行mapreduce程序
主节点:resourcemanager
从节点:nodemanager
2、步骤:
(1)hdfs-site.xml
<!--配置hdfs的冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置是否检查权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(2)core-site.xml
<!--配置hdfs的namenode-->
<property>
<name>fs.defaultfs</name>
<value>hdfs://192.168.88.11:9000</value>
</property>
<!--配置datanode保存数据的位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/bin/hadoop-2.7.7/tmp</value>
</property>
(3) mapred-site.xml
<!--配置mr运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(4) yarn-site.xml
<!--配置resourcemanager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.43.128</value>
</property>
<!--配置nodemanager执行任务的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(5) 格式化namenode
hdfs namenode -format
日志:storage directory/usr/local/bin/hadoop-2.7.7/tmp/dfs/name has been successfully formatted.
(6) 启动:start-all.sh
(*) hdfs: 存储数据
(*) yarn:执行计算
(7) 访问:(*)命令行
(*)java api
(*)web console:
hdfs:http://192.168.43.128:50070
yarn:http://192.168.43.128:8088
上一篇: Python生成九宫格图片的示例代码
下一篇: 胤禛继位时,统兵30万的胤禵为什么不*?