上一篇中咱們瞭解了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,那麼就證實咱們搭建成功啦~