1. 程式人生 > >Yarn叢集的搭建與測試

Yarn叢集的搭建與測試

一、叢集搭建

一、叢集規劃

主機名 IP地址 NN-1 NN-2 DN ZK ZKFC JNN RS NameNode
node01 192.168.163.128
node02 192.168.163.129
node03 192.168.163.130
node04 192.168.163.131

二、修改配置檔案

1、切換至cd /opt/software/hadoop/hadoop-2.6.5/etc/hadoop/目錄下,檢視檔案內容如下:

在這裡插入圖片描述

2、修改mapred-site.xml.template為mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

3、修改mapred-site.xml配置檔案

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
<-- 跨平臺配置 -->
<property>
	<name>mapreduce.app-submission.cross-platform</name>
	<value>true</value>
</property>

4、修改yarn-site.xml配置檔案

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
</property>
<property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>cluster1</value>
 </property>
 <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
 </property>
 <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>node01</value>
 </property>
 <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>node02</value>
 </property>
 <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>node02:2181,node03:2181,node04:2181</value>
 </property>

5、將配置好的檔案傳送給node02,node03,node04節點上

scp -r hadoop-2.6.5 [email protected]:`pwd`
scp -r hadoop-2.6.5 [email protected]:`pwd`
scp -r hadoop-2.6.5 [email protected]:`pwd`

注意:pwd的用法是切換碟符至hadoop-2.6.5所在的目錄下

6、在node02、node03、node04上啟動zookeeper

zkServer.sh start

若命令無法啟動,說明zookeeper的環境變數沒有配置,需要在zookeeper的bin目錄下啟動./zkServer.sh start

7、在node01上啟動HDFS和Yarn叢集

start-dfs.sh

start-yarn.sh

8、在node02上手動啟動備用的ResourceManager

yarn-daemon.sh start resourcemanager

9、訪問192.168.163.128頁面如下圖所示

在這裡插入圖片描述

訪問192.168.163.129頁面如下,說明Yarn叢集啟動成功。

在這裡插入圖片描述

二、叢集測試

測試用例使用MapReduce所提供的WordCount案例,該jar包在

/opt/software/hadoop/hadoop-2.6.5/share/hadoop/mapreduce

執行測試用例:

hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount  /input  /output

檢視執行結果:

hdfs dfs -cat /output/_SUCCESS

注:
Input:是HDFS檔案系統中資料所在的目錄
Output:是HDFS檔案系統中不存在的目錄,MapReduce執行的結果檔案會輸出到該目錄下

三、遇到的問題

Yarn搭建過程中由於只需要修改兩個配置檔案,因此沒有出錯。在測試的過程中由於事先建立了output資料夾,導致報錯,錯誤原因是:

org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://mycluster/output already exists

刪除output資料夾即可解決!