HDFS文件系统结构解析

NameNode节点是就是HDFS的大脑。想了解HDFS文件系统,必须了解大脑结构。 咱们就从NameNode节点开始。NameNode类中,关于HDFS文件系统的存储和管理都交给了FSNamesystem负责。下面介绍一下FSNamesystem的逻辑组成和类图。

1.

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文件系统结构解析

我们都知道,在NameNode内存中存在两张很重要的映射表:

1. 文件系统的命名空间(文件目录树) 主要是 文件和Block映射关系 (保存在FSDirectory)

2. Block 和 INodeFile & DataNode的映射关系 (保存在FSNamesystem)

在上图中,左边黑线部分是1 数据结构的层次关系;红线部分是 2 关系的层次结构

(其中block & DataNode这个共用)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7e379ae56a3c8cb2e4992cdcfa21ea64.html