YARN-HA高可用集羣搭建

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章