Hadoop:为什么辅助namenode应该一直运行

时间:2016-02-07 17:08:23

标签: hadoop

我正在努力了解让hadoop辅助名称节点一直运行的重点。据我所知,它定期(默认情况下每小时一次)合并fsimage和editfiles。

为什么它是一个守护进程,而不是一个定期运行的工具(比方说,作为一个cron工作)?

3 个答案:

答案 0 :(得分:0)

检查点的间隔不仅取决于时间。这也取决于其他一些因素。根据不同,检查点频率可能会有所不同。

dfs.namenode.checkpoint.txns - Secondary NameNode或CheckpointNode将为每个' dfs.namenode.checkpoint.txns'创建命名空间的检查点。交易,无论是否' dfs.namenode.checkpoint.period'已过期。

dfs.namenode.checkpoint.period - 两个定期检查点之间的秒数。

在上述属性中,交易计数可能随时超过限额。它也可能在几分钟内发生。除此之外,管理员可以手动触发检查点过程。因此,对于所有这些要求,辅助名称节点应始终处于启用状态。如果它只是定期运行,它就无法正常发挥作用。

答案 1 :(得分:0)

对辅助名称节点的真正含义的最佳解释是: http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/

  

Secondary Namenode(SNN)是Hadoop中命名不佳的组件之一。通过它的名称,它给出了它是Namenode(NN)的备份的意义。但实际上并非如此。

Secondary Namenode的目的是在HDFS中有一个Namenode检查点,这样它就可以在Namenode崩溃/失败的事件中保存Namenode的最新可能图像(它不是Namenode的替代品)然后使用这个检查点来再次提起namenode。这就是为什么SNN应该一直运行并且具有与NN几乎相似的配置。

也许这个video会更好地解释它!

答案 2 :(得分:-1)

很好的问题,这种行为的原因是它可以从主要名称节点接管角色并成为主要角色。在由故障或维护引起的故障转移期间会发生这种情况。如果它只是一个cron作业,它将为故障转移过程增加显着的延迟。

https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Secondary_NameNode