Hodeop中的Namenode失败和恢复

Nag*_*mar 4 hadoop hdfs cloudera

Hadoop如何确定Namenode已失败或无法正常工作?

我知道在Hadoop中,Namenode是保留所有元数据的主要点,通过心跳识别数据节点的失败,并在datanode失败的情况下选择复制数据.

如果Namenode失败,哪个系统识别出故障,以及恢复过程是什么?

Cha*_*guy 9

这取决于您所讨论的Hadoop版本.在Hadoop 2之前,这Namenode是一个单点故障,所以如果它失败意味着你的集群变得无法使用.SecondaryNameNode在这种情况下,即使是没有帮助,因为它仅用于检查点,而不是作为备份NameNode.当NameNode失败时,像管理员这样的人必须手动重启NameNode.

但是从Hadoop 2开始,你就有了更好的方法来处理故障NameNode.您可以将两个冗余NameNodes并排运行,这样如果其中一个Namenodes发生故障,群集将快速故障转移到另一个NameNode.

它的工作方式是非常透明的,基本上它DataNodes会向两者发送报告,NameNodes这样如果一个失败,另一个将准备好在活动模式下使用.对于客户端,它只是简单地联系每个NameNode配置,直到找到活动的.因此,如果它得到回复说要在其他地方尝试,或者如果NameNode没有回复,它就知道它需要使用不同的NameNode.

这是一个取自Cloudera博客的模式,模式更详细地解释了:

翰

您还可以查看有关如何进行此设置的官方文档的HA文章.

  • 如果两者都失败了会发生什么 (4认同)