Hadoop 2.7.5 Yarn HA冲突和Bug
Hadoop 2.7.5 Yarn HA conflict and Bug
我已经设置了一个 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 的循环上,而名称节点进程在节点 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>
但这对资源管理器行为没有影响!
这是错误还是我错了!?
自从 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 毫秒,然后切换到另一个名称节点
我已经设置了一个 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 的循环上,而名称节点进程在节点 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>
但这对资源管理器行为没有影响! 这是错误还是我错了!?
自从 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 毫秒,然后切换到另一个名称节点