查询Hadoop高可用性

时间:2016-09-17 18:03:13

标签: hadoop hdfs high-availability distributed-system

在故障转移过程中, Hadoop的ZKFC将负责在ANN< - >之间切换。 SNN。 但是在这个过程中有一个叫做fencing的步骤,以确保关闭ANN。

如果ANN的力量消失,并采用sshfence的默认策略。

“切换不会发生,因为人工神经网络中的ssh不起作用,从而影响了高可用性”

来自文档

“但是,当发生故障转移时,以前的Active NameNode仍然可以向客户端提供读取请求,这可能已过期,直到NameNode在尝试写入JournalNodes时关闭。因此,即使使用Quorum Journal Manager,仍然需要配置一些防护方法。“

  • 其他分布式系统如何在不影响高可用性的情况下解决此问题?
  • 如果上面已经存在解决问题,为什么hdfs没有采用它呢?

1 个答案:

答案 0 :(得分:0)

Hdfs配置允许使用多个fencing方法。

来自文档:

“为了做到这一点,您必须至少配置一个防护方法。这些方法被配置为一个回车分隔列表,将按顺序尝试,直到有人指示防护成功。”< / em>的

需要注意的重要一点是,这些方法应该实现某种超时机制或立即返回。最简单的方法是使用带有超时的 sshfence 和shell('/ bin / true')作为第二种方法(假设ANN已关闭)。示例:

<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence\nshell(/bin/true)</value>
</property>
<property>
  <name>dfs.ha.fencing.ssh.connect-timeout</name>
  <value>30000</value>
</property>

当然,您可以编写更复杂的脚本来检查ANN是否已关闭。