目录文件
NameNode
首次格式化后
运行一段时间
SecondaryNameNode
工作原理
NameNode
- 第一次启动 NameNode 格式化后,创建 fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
- 客户端对元数据进行增删改的请求。
- NameNode 记录操作日志,更新滚动日志。
- NameNode 在内存中对数据进行增删改查。
SecondaryNameNode
- Secondary NameNode询问NameNode是否需要checkpoint。直接带回NameNode是否检查结果。
- Secondary NameNode 请求执行 checkpoint。
- NameNode 滚动正在写的 edits 日志。
- 将滚动前的编辑日志和镜像文件拷贝到 Secondary NameNode。
- Secondary NameNode 加载编辑日志和镜像文件到内存,并合并。
- 生成新的镜像文件 fsimage.chkpoint。
- 拷贝 fsimage.chkpoint 到 NameNode。
- NameNode 将 fsimage.chkpoint 重新命名成 fsimage。