Fsimage
HDFS 文件系统元数据的一个永久检查点,其中包含 HDFS 文件系统的所有目录和文件的 inode 信息。
Edits
存放 HDFS 文件系统的所有更新操作,文件系统客户端执行的所有操作首先会被记录到 Edits 中。
上图
- NameNode 启动,加载 Edits 和 Fsinage 到内存中。
- 客户端发送修改请求。
- NameNode 记录操作日志,更新滚动日志。
- Secondary NameNode 询问 NameNode 是否需要 ChenkPoint。
- Secondary NameNode 执行 CheckPoint 。
- 将滚动前的 Edits 和 Fsinage 拷贝到 Secondary NameNode,并合并生成新的镜像文件fsimage.chkpoint。
- 拷贝 fsimage.chkpoint 到 NameNode。
- NameNode 将 fsimage.chkpoint 重新命名成 Fsimage。
Secondary NameNode CheckPoint
在一下两种情况下会进行 checkpoint:
-
达到时间间隔(默认 1 小时),执行 checkpoint 。
-
默认每隔 1 分钟执行 1 次检查操作,如发现操作数达 1 百万,执行 checkpoint 。