Hadoop中辅助名称节点和备用名称节点之间的区别

zeu*_*eus 2 hadoop

我无法理解辅助名称节点和备用名称节点与备份名称节点之间的区别.我正在寻找对这些术语的深入理解.请帮我解决这个问题.

小智 8

辅助namenode只是Namenode的帮助器.

它以固定间隔从namenode获取编辑日志,并应用于fsimage.

一旦它有了新的fsimage,它就会复制回namenode.

Namenode将使用此fsimage进行下次重启,这将缩短启动时间.

Secondary Namenode的全部目的是在HDFS中设置检查点.它只是namenode的辅助节点.这就是为什么它也称为检查点节点.

但是,它无法取代namenode失败时的namenode.

因此,Namenode仍然是单点故障.

要克服这个问题; STANDBY-NAMENODE进入了画面.

它做了三件事:

  1. 合并fsimage和edits-log文件.(Secondary-namenode的工作)
  2. 接收文件系统元数据的在线更新,将它们应用到其内存状态,并将它们保存在磁盘上,就像名称节点一样.

    Thus at any time the Backup node contains an up-to-date image of the namespace both in memory and on local disk(s).
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果活动名称节点终止,群集将切换到新名称节点(此备用节点).


Abh*_*nav 5

不过,上面的答案已经令人满意,但我想补充几点。关于Standby-Namenode 活动Namenode和备用Namenode都使用共享目录,并且备用Namenode不时通过该目录进行同步,因此如果活动Namenode出现故障,则激活它不能有任何延迟。但主要因素是关于块报告,块报告不写入编辑日志,它们存储在本地磁盘空间中。因此,与共享目录同步是不够的。为了避免这种冲突,数据节点拥有两个名称节点的地址,并且它们向这两个名称节点发送块报告,但它们只遵循来自活动名称节点的块命令。

希望这有帮助