NameNode与Secondary NameNode  工作机制_数据  Datanode

  1. 第一阶段:namenode启动
    1. 第一次启动NN格式化后创建fsimage和edits文件.如果不是第一次启动,直接加载 编辑日志和镜像文件到内存
    2. 客户端对元数据进行增删改的请求
    3. NN记录操作日志,更新滚动日志
    4. NN在内存中对数据进行增删改查

  2. 第二阶段:Secondary NameNode 工作
    1. SecondaryNameNode访问NN是否需要checkpiont,直接带回nn是否检查结果 默认一个小时或者edits达到1w次,临界值(默认是64MB)
    2. SNN请求执行checkpoint
    3. NN滚动正在写的edits日子
    4. 将滚动前的编辑日志和镜像文件拷贝到SNN
    5. SNN 加载编辑日志和镜像文件到内存,然后合并
    6. 生成新的镜像文件fsimage.chkpoint
    7. 拷贝fsimage.chkpoint到namenode
    8. namenode将fsimage.chkpoint重新命名成fsimage

注:checkpoint触发的条件可以在core-site.xml文件中进行配置,如下:

	<property>
	  <name>fs.checkpoint.period</name>
	  <value>3600</value>
	  <description>The number of seconds between two periodic checkpoints.
	  </description>
	</property>
	 
	<property>
	  <name>fs.checkpoint.size</name>
	  <value>67108864</value>
	  <description>The size of the current edit log (in bytes) that triggers
	       a periodic checkpoint even if the fs.checkpoint.period hasn't expired.
	  </description>
	</property>

原文:https://blog.csdn.net/lzm1340458776/article/details/42398111