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 毫秒,然后切换到另一个名称节点