HDFS FSImage解析

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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  内存映像。



转载于:https://my.oschina.net/darionyaphet/blog/409909

你可能感兴趣的:(HDFS FSImage解析)