实现类 为 FSImage
主要有三个功能
- 保存命名空间,NameNode内存中的namespace 保存在本地文件系统fsimage 文件中
- 加载fsimage
- 加载editlog
seen_txid:保存了日志重置时的最新的 transaction id,并不代表 Namenode 内存中最新的事务id
使用 protobuf 对 fsimage 文件 进行序列化
合并 fsimage 和 editlog 非常耗 I/O和 CPU 资源。在执行检查点操作期间,NameNode还需要限制其他用户对HDFS 的操作和访问。HDFS 将检查点操作从 Active NameNode 移到 Secondary Namenode 或者 StandBy NameNode(HA的情况下)
fsimage 保存的内容为:文件系统目录树、文件的数据块索引