gpt4 book ai didi

hadoop - 事件名称节点崩溃时不会触发故障转移

转载 作者:可可西里 更新时间:2023-11-01 14:51:42 25 4
gpt4 key购买 nike

我在由三个节点组成的集群上使用 Apache Hadoop-2.7.1

nn1 主名称节点

nn2(第二个名字节点)

dn1(数据节点)

我已经配置了高可用,nameservice和zookeeper在所有三个节点上都工作
并且它作为领导者在 nn2 上启动

首先我要说的是nn1 活跃,nn2 备用

当我杀死 nn1 上的名称节点时

,nn2 变为事件状态,因此正在发生自动故障转移

但在以下情况下(我在 nn1 处于事件状态且 nn2 处于备用状态时应用)并且是:

当我关闭 nn1 时(nn1 整个崩溃)

nn2 处于待命状态,不会变为事件状态,因此不会发生自动故障转移

日志中有明显错误

Unable to trigger a roll of the active NN(which was nn1 and now it is closed ofcourse)

不应该在 nn2 和 dn1 上的两个现有日志节点上发生自动故障转移

可能的原因是什么?

最佳答案

我的问题是通过更改 hdfs-site.xml 中的 dfs.ha.fencing.methods 解决的

不仅包括 ssh fencing,还包括另一种 shell fencing 方法,

总是返回 true

<name>dfs.ha.fencing.methods</name>
<value>sshfence
shell(/bin/true)
</value>

如果防护失败,自动故障转移将失败,我指定了两个选项,第二个(shell(/bin/true))总是返回成功。这样做是为了解决主 NameNode 机器出现故障并且 ssh 方法失败并且不会执行故障转移的变通方法。我们想避免这种情况,所以第二种选择是无论如何都要进行故障转移

您可以在此处找到详细信息 https://www.packtpub.com/books/content/setting-namenode-ha

关于hadoop - 事件名称节点崩溃时不会触发故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43389510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com