1. 程式人生 > 實用技巧 >Hadoop基礎(四十):HDFS HA 高可用(三)YARN-HA 配置

Hadoop基礎(四十):HDFS HA 高可用(三)YARN-HA 配置

1 YARN-HA 工作機制

1. 官方文件: http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html 2. YARN-HA 工作機制,如圖 3-23 所示

2 配置 YARN-HA 叢集

1. 環境準備 (1)修改 IP (2)修改主機名及主機名和 IP 地址的對映 (3)關閉防火牆 (4)ssh 免密登入 (5)安裝 JDK,配置環境變數等 (6)配置 Zookeeper 叢集 2. 規劃叢集
3. 具體配置 (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)同步更新其他節點的配置資訊 4. 啟動 hdfs (1)在各個 JournalNode 節點上,輸入以下命令啟動 journalnode 服務:
sbin/hadoop-daemon.sh start journalnode
(2)在[nn1]上,對其進行格式化,並啟動:
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
(3)在[nn2]上,同步 nn1 的元資料資訊:
bin/hdfs namenode -bootstrapStandby
(4)啟動[nn2]:
sbin/hadoop-daemon.sh start namenode
(5)啟動所有 DataNode
sbin/hadoop-daemons.sh start datanode
(6)將[nn1]切換為 Active
bin/hdfs haadmin -transitionToActive nn1
5. 啟動 YARN (1)在 hadoop102 中執行:
sbin/start-yarn.sh
(2)在 hadoop103 中執行:
sbin/yarn-daemon.sh start resourcemanager
(3)檢視服務狀態,如圖 3-24 所示
bin/yarn rmadmin -getServiceState rm1