YARN-HA配置
1. YARN-HA工作機制
1.1 官方文檔:http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html
1.2 YARN-HA工作機制,如圖3-23所示
2. 配置YARN-HA集群
2.1 規划集群配置
hadoop102 | hadoop103 | hadoop104 |
---|---|---|
NameNode | NameNode | |
JournalNode | JournalNode | JournalNode |
DataNode | DataNode | DataNode |
ZK | ZK | ZK |
ResourceManager | ResourceManager | |
NodeManager | NodeManager | NodeManager |
2.2 具體配置
2.2.1 修改yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--啟用resourcemanager ha-->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--聲明兩台resourcemanager的地址-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster-yarn1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop102</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop103</value>
</property>
<!--指定zookeeper集群的地址-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>
</property>
<!--啟用自動恢復-->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!--指定resourcemanager的狀態信息存儲在zookeeper集群-->
<property>
<name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
</configuration>
2.2.2 同步其他集群機器上的配置
xsync etc
3. 啟動HDFS集群
3.1 在各個[nn1]節點上,輸入以下命令啟動服務:
sbin/start-dfs.sh
3.2 啟動yarn , 即便配置了YARN-HA,他仍然只會在一台機器上啟動ResourceManager,其他的需要在其他機器上手動啟動
sbin/start-yarn.sh
3.3 如何查看YARN_HA有沒有啟動成功?有兩種方式:
(1)訪問:Hadoop103:8088 ,會被自動切換到Hadoop102:8088
(2)通過命令的方式查看它的狀態:
[simon@hadoop102 hadoop-2.7.2]$ bin/yarn rmadmin -getServiceState rm1
active
[simon@hadoop103 hadoop-2.7.2]$ bin/yarn rmadmin -getServiceState rm2
standby