**HDFS (Hadoop Distributed File System)**是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以大规模部署在低成本的硬件上。
HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:
文件系统命名空间
的操作,例如打开,关闭、重命名文件和目录等。它同时还负责集群元数据的存储,记录着文件中各个数据块的位置信息。HDFS 的 文件系统命名空间
的层次结构与大多数文件系统类似 (如 Linux ), 支持目录和文件的创建、移动、删除和重命名等操作,支持配置用户和访问权限,但不支持硬链接和软连接。
NameNode
负责维护文件系统名称空间,记录对名称空间或其属性的任何更改。
由于 Hadoop 被设计运行在廉价的机器上,这意味着硬件是不可靠的,为了保证容错性,HDFS 提供了数据复制机制。HDFS 将每一个文件存储为一系列块(Block),每个块由多个副本来保证容错,块的大小和复制因子可以自行配置(默认情况下,块大小是 128M,默认复制因子是 3)。