hadoop:为什么secondary namenode应该一直运行

r6vfmomb  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(363)

我试图理解让hadoop secondary namenode一直运行到底有什么意义。据我所知,它定期(默认每小时一次)合并fsimage和editfiles。
为什么它是一个守护进程,而不是一个定期运行的实用程序(比如说,作为cron作业)?

olqngx59

olqngx591#

次要namenode真正意义的最佳解释:http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/
次要名称节点(snn)是hadoop中名称不好的组件之一。它的名字让人感觉到它是namenode(nn)的备份。但实际上并非如此。
secondary namenode的全部目的是在hdfs中有一个namenode的检查点,以便在namenode崩溃/失败(它不是namenode的替代品)时保存namenode的最新可能的映像,然后使用这个检查点重新启动namenode。这就是为什么snn应该一直运行,并且具有与nn几乎相似的配置。
也许这段视频能更好的解释!

fnx2tebb

fnx2tebb2#

检查点的间隔不仅取决于时间。这还取决于其他一些因素。根据这一点,检查点频率可能会有所不同。
dfs.namenode.checkpoint.txns-辅助namenode或checkpointnode将在每个“dfs.namenode.checkpoint.txns”事务中创建命名空间的检查点,而不管“dfs.namenode.checkpoint.period”是否已过期。
dfs.namenode.checkpoint.period—两个定期检查点之间的秒数。
在上述属性中,交易计数随时可能超过限制。它也可能在几分钟内发生。除此之外,管理员还可以手动触发检查点过程。因此,对于所有这些要求,辅助namenode应该始终处于启动状态。如果它只是周期性地运行,它就不能正常发挥作用。

vom3gejh

vom3gejh3#

好问题,这种行为的原因是它可以从主namenode接管角色并成为主namenode。在故障转移过程中会发生这种情况,原因可能是停机或维护。如果它只是一个cron作业,则会给故障转移过程增加显著的延迟。
https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/hdfsuserguide.html#secondary_namenode

相关问题