Fsimage是hdfs的元数据在硬盘上的checkpoint,也就是快照;
Editlog记录对hdfs节点的操作。
- 2NN会周期性的查看Editlog文件大小,当达到要求会开始合并
- NameNode会停止使用旧的Editlog,创建出一个newEditlog进行使用
- 2NN通过get请求得到旧的Editlog和Fsimage,get请求中带有两个文件的路径。
- 2NN将两个文件加载到内存中,进行合并,生成Fsimage.ckpt;合并完成通过Http 请求告知NameNode
- NameNode收到,通过Http post拉取Fsimage.ckpt
- 将Fsimage.ckpt更名为Fsimage,将newEditlog更名为EditLog
2NN也会将两个文件载入内存,因此2NN需要运行在一台专门的机器上。