2016-11-24 117 views
0

我試圖設置Yarn以在Hadoop 2.7.3上的HA配置中運行。開始時,我收到以下錯誤在資源管理器日誌文件:紗線高可用性:ZKResourceManagerStateStore未找到

了java.lang.RuntimeException:了java.lang.RuntimeException:拋出java.lang.ClassNotFoundException:類org.apache.hadoop.yarn.server.resourcemanager .recovery.ZKResourceManagerStateStore沒有找到

我的紗線的site.xml是波紋管:

<configuration> 
<!-- Resource Manager Configs --> 
    <property> 
    <name>yarn.resourcemanager.connect.retry-interval.ms</name> 
    <value>2000</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.automatic-failover.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.automatic-failover.embedded</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.cluster-id</name> 
    <value>yarn-cluster</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.rm-ids</name> 
    <value>rm1,rm2</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.id</name> 
    <value>rm1</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.recovery.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.store.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKResourceManagerStateStore</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.zk-address</name> 
    <value>master:2181,slave1:2181,slave2:2181</value> 
    </property> 
    <property> 
    <name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name> 
    <value>5000</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.work-preserving-recovery.enabled</name> 
    <value>true</value> 
    </property> 

    <!-- ResourceManager1 configs --> 
    <property> 
    <name>yarn.resourcemanager.address.rm1</name> 
    <value>master:23140</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.address.rm1</name> 
    <value>master:23130</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.https.address.rm1</name> 
    <value>master:23189</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.address.rm1</name> 
    <value>master:23188</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.resource-tracker.address.rm1</name> 
    <value>master:23125</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.admin.address.rm1</name> 
    <value>master:23141</value> 
    </property> 

    <!-- ResourceManager2 configs --> 
    <property> 
    <name>yarn.resourcemanager.address.rm2</name> 
    <value>slave1:23140</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.address.rm2</name> 
    <value>slave1:23130</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.https.address.rm2</name> 
    <value>slave1:23189</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.address.rm2</name> 
    <value>slave1:23188</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.resource-tracker.address.rm2</name> 
    <value>slave1:23125</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.admin.address.rm2</name> 
    <value>slave1:23141</value> 
    </property> 

<!-- Node Manager Configs --> 
    <property> 
    <description>Address where the localizer IPC is.</description> 
    <name>yarn.nodemanager.localizer.address</name> 
    <value>master:23344</value> 
    </property> 
    <property> 
    <description>NM Webapp address.</description> 
    <name>yarn.nodemanager.webapp.address</name> 
    <value>master:23999</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.local-dirs</name> 
    <value>/tmp/pseudo-dist/yarn/local</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.log-dirs</name> 
    <value>/tmp/pseudo-dist/yarn/log</value> 
    </property> 
    <property> 
    <name>mapreduce.shuffle.port</name> 
    <value>23080</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.work-preserving-recovery.enabled</name> 
    <value>true</value> 
    </property> 
</configuration> 

回答

1

更換

<property> 
    <name>yarn.resourcemanager.store.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKResourceManagerStateStore</value> 
    </property> 

<property> 
    <name>yarn.resourcemanager.store.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> 
    </property> 

紗-site.xml中,然後再試一次

+0

這看起來像它做到了!謝謝,我一直盯着那幾個小時。我一直在使用https://www.cloudera.com/documentation/enterprise/5-2-x/topics/cdh_hag_rm_ha_config.html作爲參考。這個文檔是否過時了? –

+0

在該文檔中,我將yarn.resourcemanager.store.class的值看作org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore。你從哪裏得到yarn-site.xml文件? –

+0

ZKResourceManagerStateStore是上述配置描述中的推薦值。我發現它與這個例子有衝突。 –