Hodeop中的Namenode失败和恢复

时间:2013-11-21 06:38:42

标签: hadoop hdfs cloudera

Hadoop如何确定Namenode已失败或无效?

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

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

1 个答案:

答案 0 :(得分:8)

这取决于您所讨论的Hadoop版本。在Hadoop 2之前,Namenode是单点故障,因此如果失败则意味着您的群集无法使用。在这种情况下,即使SecondaryNameNode也无济于事,因为它仅用于检查点,而不是NameNode的备份。当NameNode失败时,像管理员这样的人必须手动重新启动NameNode

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

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

以下是从the Cloudera blog获取的模式,其中详细说明了这一点:

HANN

您还可以查看the HA article on the official documentation如何进行设置。