我已经建立了一个Hadoop HA集群,包括namenode和resourcemanager的备用节点,这样在节点A和节点B中,namenode和resourcemanager进程都将启动,一个节点角色作为备用节点。 当我关闭活动节点(A或B)时,另一个将是活动节点(已测试)。如果我只是启动一个节点(A或B),那么namenode进程就可以了,但是resourcemanager进程没有响应!我检查了日志,它是以下内容:
2018-01-27 17:01:43,371 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/192.168.1.210:8020. Already tried 68 time(s); retry policy is RetryPolicy[MultipleLinearRandomRetry[500x2000ms], TryOnceThenFail]
节点A/192.168.1.210
是未启动的节点。它在连接到节点A的循环上存储,而namenode进程在节点B上处于活动状态。
我设置以下属性来减少(500 * 2000)(refrenced here):
<property>
<name>yarn.resourcemanager.fs.state-store.retry-policy-spec</name>
<value>1000,10</value>
<!-- <value>2000,10</value> also checked -->
</property>
但是对资源管理器的行为没有影响! 这是一个错误还是我错了!?
答案 0 :(得分:0)
自Hadoop 2.8
添加属性yarn.node-labels.fs-store.retry-policy-spec
以控制该情况。添加以下属性解决了问题:
<property>
<name>yarn.node-labels.fs-store.retry-policy-spec</name>
<value>1000, 10</value>
</property>
现在它尝试10次,睡眠1000毫秒,然后切换到另一个名字节点