上一篇中咱们了解了MapReduce和Yarn的基本概念,接下来带领你们搭建下Mapreduce-HA的框架。html
结构图以下:node
开始搭建:linux
一.配置环境web
注:能够如今一台计算机上进行配置,而后分发给其它服务器vim
1.1 编辑mapred-site.xml文件:服务器
进入目录 /opt/hadoop/hadoop-2.6.5/etc/hadoopapp
cd /opt/hadoop/hadoop-2.6.5/etc/hadoop框架
vim mapred-site.xmlwebapp
添加以下配置: oop
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> <!--指定mapreduce经过yarn获取数据,还能够填写参数localhost--> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration>
1.2 编辑yarn-site.xml文件:
vim yarn-site.xml
添加以下配置:
<configuratoin> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <!--指定nodemanager能够拉取数据--> </property> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value><!--启动resourcemanager高可用--> </property> <property> <name>hadoop.zk.address</name><!--配置zookeeper地址--> <value>tuge1:2181,tuge2:2181,tuge3:2181,tuge4:2181</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>cluster1</value><!--配置resourcemanager虚拟地址到物理地址的映射--> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>tuge1</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>tuge2</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm1</name> <value>tuge1:8088</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>tuge2:8088</value> </property>
</configuration>
二.启动程序
在tuge1服务器启动:
vim /opt/hadoop/hadoop-2.6.5/sbin
start-yarn.sh
启动后,使用jps便可查看resourcemanager和nodemanager是否启动成功。
三.浏览效果
四.实现一个计算Demo
4.1 在hdfs里面建立一个10000行的test.txt文件
使用命令:
//首先建立一个root文件夹
hadoop fs -mkdir /user/root/
//在linux随便找一个目录建立一个文件,并加入1万行What are you doing 123?
touch test.txt
vim test.txt
而后输入数字10000,再点击i进行输入What are you doing 123? ,而后按Esc 这时10000行What are you doing 123?就录入了,而后保存。
//将本地文件复制到hdfs上面
hadoop dfs -scpFromLocal test.txt /user/root/
4.2 进入/opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce
cd /opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce
4.3 使用mapreduce统计刚刚上传文件里面的单词数量
hadoop jar hadoop-mapreduce-examples-2.6.5.jar /user/root/test.txt /user/root/result --意思是使用hadoop 运行jar环境,并执行程序,统计的文件路径,输出结果路径(这个路径必须是空的或者不存在的)
4.4 控制台执行效果图和web ui浏览效果图
4.5 最后咱们能够在上面的输出目录查看统计结果
hadoop fs -cat /user/root/result/part-r-00000
从上图能够看到,每一个单词统计均为10000,那么就证实咱们搭建成功啦~