hadoop如何确定namenode失败或不工作?我知道在hadoop中namenode是保存所有元数据的主要点,它通过心跳识别datanodes的失败,并在datanode失败时选择复制数据。如果namenode出现故障,哪个系统会识别故障,恢复过程是什么?
fbcarpbf1#
这取决于你说的是哪个版本的hadoop。在hadoop2之前 Namenode 是一个单点故障,所以如果它失败了,这意味着您的集群将无法使用。即使是 SecondaryNameNode 在这种情况下没有帮助,因为它只用于检查点,而不是作为 NameNode . 当 NameNode 如果失败,像管理员这样的人必须手动重新启动 NameNode .但是自从hadoop2以来,您有了更好的方法来处理系统中的故障 NameNode . 你可以运行2个冗余 NameNodes 一个挨着一个 Namenodes 如果失败,群集将快速故障转移到另一个 NameNode .它的工作方式非常透明,基本上 DataNodes 将向双方发送报告 NameNodes 因此,如果其中一个失败,另一个将准备在活动模式下使用。对于客户来说,它只需联系 NameNode 直到找到活动的。所以如果它得到一个回复说去别处试试,或者 NameNode 不回答,它知道它需要使用不同的 NameNode .下面是一个取自cloudera博客的模式,它详细解释了:你也可以看看官方文档中关于如何设置的ha文章。
Namenode
SecondaryNameNode
NameNode
NameNodes
Namenodes
DataNodes
1条答案
按热度按时间fbcarpbf1#
这取决于你说的是哪个版本的hadoop。在hadoop2之前
Namenode
是一个单点故障,所以如果它失败了,这意味着您的集群将无法使用。即使是SecondaryNameNode
在这种情况下没有帮助,因为它只用于检查点,而不是作为NameNode
. 当NameNode
如果失败,像管理员这样的人必须手动重新启动NameNode
.但是自从hadoop2以来,您有了更好的方法来处理系统中的故障
NameNode
. 你可以运行2个冗余NameNodes
一个挨着一个Namenodes
如果失败,群集将快速故障转移到另一个NameNode
.它的工作方式非常透明,基本上
DataNodes
将向双方发送报告NameNodes
因此,如果其中一个失败,另一个将准备在活动模式下使用。对于客户来说,它只需联系NameNode
直到找到活动的。所以如果它得到一个回复说去别处试试,或者NameNode
不回答,它知道它需要使用不同的NameNode
.下面是一个取自cloudera博客的模式,它详细解释了:
你也可以看看官方文档中关于如何设置的ha文章。