Hadoop之——SecondaryNameNode合并EditsLog文件介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l1028386804/article/details/87927374

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/87927374

SecondaryNameNode会周期性地将EditsLog文件进行合并,合并前提条件如下:

  • EditsLog文件到达某一阈值时对其进行合并
  • 每隔一段时间对其进行合并

将记录HDFS操作的EditsLog文件与其上一次合并后存在的FsImage文件合并到Fsimage.checkpoint,然后创建一个新的EditsLog文件,最后将Fsimage.checkpoint复制到NameNode节点上,复制触发的条件是core-site.xml里面有两个参数可配置:

<property>
	<name>fs.checkpoint.period</name>
	<value>3600</value>
</property>
<property>
	<name>fs.checkpoint.size</name>
	<value>67108864</value>
</property>

参数解释如下:

  • fs.checkpoint.period:时间间隔,默认为1小时合并一次
  • fs.checkpoint.size:文件大小,默认为64MB,当EditsLog文件大小超过64MB,就会触发EditsLog与Fsimage文件的合并

如果NameNode损坏或丢失之后,无法启动Hadoop,这时就要人工干预恢复到SecondaryNameNode中所照的状态,这就意味着集群的数据会或多或少地丢失一些宕机时间,并且将SecondaryNameNode作为重要的NameNode来处理。这就要求,尽量避免将SecondaryNameNode和NameNode放在同一台机器上。

猜你喜欢

转载自blog.csdn.net/l1028386804/article/details/87927374