namenode的故障与恢复

azpvetkf  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(356)

hadoop如何确定namenode失败或不工作?
我知道在hadoop中namenode是保存所有元数据的主要点,它通过心跳识别datanodes的失败,并在datanode失败时选择复制数据。
如果namenode出现故障,哪个系统会识别故障,恢复过程是什么?

fbcarpbf

fbcarpbf1#

这取决于你说的是哪个版本的hadoop。在hadoop2之前 Namenode 是一个单点故障,所以如果它失败了,这意味着您的集群将无法使用。即使是 SecondaryNameNode 在这种情况下没有帮助,因为它只用于检查点,而不是作为 NameNode . 当 NameNode 如果失败,像管理员这样的人必须手动重新启动 NameNode .
但是自从hadoop2以来,您有了更好的方法来处理系统中的故障 NameNode . 你可以运行2个冗余 NameNodes 一个挨着一个 Namenodes 如果失败,群集将快速故障转移到另一个 NameNode .
它的工作方式非常透明,基本上 DataNodes 将向双方发送报告 NameNodes 因此,如果其中一个失败,另一个将准备在活动模式下使用。对于客户来说,它只需联系 NameNode 直到找到活动的。所以如果它得到一个回复说去别处试试,或者 NameNode 不回答,它知道它需要使用不同的 NameNode .
下面是一个取自cloudera博客的模式,它详细解释了:

你也可以看看官方文档中关于如何设置的ha文章。

相关问题