HDFS FSImage解析

纵然是瞬间 提交于 2021-01-10 00:04:53

HDFS命名空间保存在NameNode中,NameNode使用一个事务日志(EditLog)保存对系统元数据的所有改动。

整个文件系统的命名空间,包括文件和块之间的映射、文件系统属性等都保存在一个叫FsImage文件中。

FSImage 是HDFS核心数据结构之一,从构造函数可以看出主要分为三部分:

NNStorage、FSEditLog和NNStorageRetentionManager

三个组件的主要功能如下所述:

NNStorage is responsible for management of the StorageDirectories used by the NameNode.

FSEditLog maintains a log of the namespace modifications.

The NNStorageRetentionManager is responsible for inspecting the storage directories of the NN and enforcing a retention policy on checkpoints and edit logs.


HDFS FSImage 类代码还是比较多的  大约有1500+行  首先浏览一下outline看看可以分为哪几部分?

目测可分为Format、Upgrade&Rollback、EditLog相关、FSImage相关、NameSpace和CheckPoint这几方面。


loadFSImage方法在NameNode启动时触发,用来加载目录中最新的image文件,与editlog合并之后作为NameNode  内存映像。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!