1.第一阶段:NameNode启动
1.第一次启动NameNode格式化后,创建Fsimage和Edits文件,如果不是第一次启动,直接加载Fsimage和Edits到内存
2.客户端对元数据进行增删改请求
3.NameNode记录操作日志,更新滚动日志
4.NameNode在内存中对元数据进行增删改
2.第二阶段:Secondary NameNode工作
1.Secondary NameNode询问NameNode是否需要CheckPoint
2.Seconary NodeNode请求执行CheckPoint
3.NameNode滚动正在写的Edits日志
4.将滚动前的Edits和Fsimage拷贝到Secondary NameNode
5.Secondary NaneNode加载Edits和Fsimage到内存,并合并
6.生成新的镜像文件fsimage.chkpoint
7.拷贝fsimage.chkpoint到NameNode
8.NameNode将fsimage.chkpoint重新命名为fsimage,替换旧fsimage
3.检查点时间设置
在hadoop.env中按之前介绍同理配置
// 默认1小时检查一次
HDFS_CONF_dfs_namenode_checkpoint_period=3600s
// 默认1分钟检查一次操作次数,操作次数达到1百万时,Secondary NameNode执行一次
HDFS_CONF_dfs_namenode_checkpoint_txns=1000000
HDFS_CONF_dfs_namenode_check_period=60s
下一篇文章,我们将详细介绍fsimage镜像文件与edits编辑日志