**HDFS (Hadoop Distributed File System)**是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以大规模部署在低成本的硬件上。

HDFS 设计原理


HDFS 架构

HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:

文件系统命名空间

HDFS 的 文件系统命名空间 的层次结构与大多数文件系统类似 (如 Linux ), 支持目录和文件的创建、移动、删除和重命名等操作,支持配置用户和访问权限,但不支持硬链接和软连接。

NameNode 负责维护文件系统名称空间,记录对名称空间或其属性的任何更改。

数据复制

由于 Hadoop 被设计运行在廉价的机器上,这意味着硬件是不可靠的,为了保证容错性,HDFS 提供了数据复制机制。HDFS 将每一个文件存储为一系列块(Block),每个块由多个副本来保证容错,块的大小和复制因子可以自行配置(默认情况下,块大小是 128M,默认复制因子是 3)。