NameNode

1 第一阶段: namenode 启动

1)第一次启动 namenode 格式化后, 创建 fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
2) 客户端对元数据进行增删改的请求。
3) namenode 记录操作日志,更新滚动日志。
4) namenode 在内存中对数据进行增删改查。

2 第二阶段: Secondary NameNode 工作

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。