大数据面试题百日更新_Hadoop专题(Day04)

5. Secondary NameNode 了解吗,它的工作机制是怎样的

Secondary NameNode 是合并 NameNode 的 edit logs 到 fsimage 文件中; 它的具体工作机制:
(1)Secondary NameNode 询问 NameNode 是否需要 checkpoint。直接带回 NameNode 是否检查结果
(2)Secondary NameNode 请求执行 checkpoint
(3)NameNode 滚动正在写的 edits 日志
(4)将滚动前的编辑日志和镜像文件拷贝到 Secondary NameNode
(5)Secondary NameNode 加载编辑日志和镜像文件到内存,并合并
(6)生成新的镜像文件 fsimage.chkpoint
(7)拷贝 fsimage.chkpoint 到 NameNode
(8)NameNode 将 fsimage.chkpoint 重新命名成 fsimage 所以如果 NameNode 中的元数据丢失,是可以从 Secondary NameNode 恢复一部 分元数据信息的,但不是全部,因为 NameNode 正在写的 edits 日志还没有拷贝 到 Secondary NameNode,这部分恢复不了

另一容易理解的版本:
在这里插入图片描述

1、 secnonaryNN通知NameNode切换editlog,生成edits.new
2、secondaryNN从NameNode中获得FSImage和editlog(通过http方式),将FSImage载入内存,然后开始合并editlog,合并之后成为新的fsimage
3、secondaryNN将新的fsimage.ckpt发回给NameNode
4、NameNode用新的fsimage.ckpt替换旧的fsimage
5、NameNode用新的edits.new替换旧的edits

猜你喜欢

转载自blog.csdn.net/xianyu120/article/details/115097822
今日推荐