NameNode&Secondary NameNode 工作机制
NameNode:
1.启动时,加载编辑日志和镜像文件到内存
2.当客户端对元数据进行增删改,请求NameNode
3.NameNode记录操作日志,更新滚动日志
4.日志记录完成,在NameNode内存中对元数据进行操作
edits.001 操作日志
edits.002
edits.inprogress 正在进行的操作日志
fsimage 镜像文件
SecondaryNameNode:(其主要作用就是:合并edit和fsimage)
0.检查点(checkpoint)触发。条件是:
a.定时时间到(默认一个小时)
b.操作日志中的数据满了(100w次操作)
1.请求NameNode是否需要CheckPoint,直接带回 NameNode是否检查结果
2.执行CheckPoint请求
3.滚动正在写的操作日志,生成最新的一个操作日志
4.将操作日志和之前旧的镜像fsimage文件拷贝到SecondaryNameNode
5.在SecondaryNameNode内存中合并日志文件和fsimage文件
6.生成新的fsimage.chkpoint
7.将fsimage.chkpoint拷贝到NameNode中
8.重命名fsimage.chkpoint为fsimage
Na