分析namenode开启过程
----------------------------
1.默认目录下{hadoop.tmp.dir/dfs/name/current},fsimage文件存储为两个,加载fsimage_txid最后一个。(txid=39)
2.加载edits_txid操作文件至内存中。元数据已全部加载至内存上。(txid=40-41)
3.保存checkpoint(检查点):合并fsimage和edits文件,重新生成新的镜像文件
4.等待接受来自datanode的block report
分析namenode运行过程(内存)
-----------------------------
1.记录对hdfs的编辑操作,追加edits_inprogress_txid
2.更新内存中的元数据;达到一定阈值后,运行checkpoint(检查点)
3.接受来自datanode的心跳信息
checkpoint(检查点机制)相关属性
----------------------------------------
1.checkpoint周期,默认为1小时。
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>3600</value>
<description>
两个定期检查点之间的秒数。
</description>
</property>
2.txid的次数达到1百万次,也执行checkpoint;与周期无关
<property>
<name>dfs.namenode.checkpoint.txns</name>
<value>1000000</value>
<description>
无论'dfs.namenode.checkpoint.period'是否已经过期,Secondary NameNode或CheckpointNode都会为每个'dfs.namenode.checkpoint.txns'事务创建名称空间的检查点。
</description>
</property>
3.每隔60秒检查txid操作次数
<property>
<name>dfs.namenode.checkpoint.check.period</name>
<value>60</value>
<description>
SecondaryNameNode和CheckpointNode会每隔60秒查询NameNode以查询未检查点的事务数量。
</description>
</property>
注意:达到1小时或操作txid大于1百万次或edits文件大于64m,均可触发checkpoint操作