2013-11-21 61 views
3

Hadoop如何确定Namenode发生故障或无法正常工作?Hadoop中的Namenode故障和恢复

我知道在Hadoop中,Namenode是保留所有元数据,通过检测信号识别datanodes故障并在数据节点失败时选择复制数据的主要关键。

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

回答

7

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

但是由于Hadoop 2,您有更好的方法来处理NameNode中的故障。您可以将两个冗余NameNodes并排运行,以便如果Namenodes之一发生故障,群集将快速切换到另一个NameNode

它的工作方式是非常透明的,基本上DataNodes将发送报告给NameNodes,以便如果一个失败,另一个将准备好在主动模式下使用。对于客户端,它只需联系每个配置的NameNode,直到找到活动的。因此,如果收到回复说要在别处尝试,或者如果NameNode未回复,则知道它需要使用不同的NameNode

这里是the Cloudera blog采取的模式,其解释说,在更多的细节:

HANN

您还可以了解如何设置此一看the HA article on the official documentation

+0

非常感谢。该博客提供了所有需要的信息 –