读书人

HDFS文件系统源码小结

发布时间: 2014-01-08 00:30:58 作者: rapoo

HDFS文件系统源码总结

??FSNameSystem层次结构?INode:??它用来存放文件及目录的基本信息:名称,父节点、修改时间,访问时间以及UGI信息等。
INodeFile:?继承自INode,除INode信息外,还有组成这个文件的Blocks列表,重复因子,Block大小
INodeDirectory:继承自INode,此外还有一个INode列表来组成文件或目录树结构
Block(BlockInfo):组成文件的物理存储,有BlockId,size?,以及时间戳
BlocksMap:?保存数据块到INode和DataNode的映射关系
FSDirectory:保存文件树结构,HDFS整个文件系统是通过FSDirectory来管理
FSImage:保存的是文件系统的目录树
FSEditlog:??文件树上的操作日志
FSNamesystem:?HDFS文件系统管理??概念之间的层次关系:

HDFS文件系统源码小结

??FSNameSystem?主要类关系图

HDFS文件系统源码小结

这个类图可以分成三个部分
Bock相关的部分(BlocksMap?&?BlockInof?&?Block)?
INode相关的部分(INode?&?INodeDirectory?&?INodeFile?&?INodeDirectoryWithQuota)?
FSImage?&?FSEditLog?(Storage?&?StorageInfo)?

其中
BlockInfo是Block的加强类,增加了INodeFile的引用和DataNode列表
INodeFirectoryWithQuota?是INodeDirectory的增强类,增加了Quota限制功能从层次关系图和类图中,可以看出FSNamesystem中各数据结构之间的关系。了解FSNamesystem,?那么HDFS的文件系统就了解了90%。???一下为其他重要信息说明:?1.2.1、元数据节点文件夹结构

HDFS文件系统源码小结

读书人网 >编程

热点推荐