Hadoop 的分布式存储是指 Hadoop Distributed File System(HDFS),它是 Hadoop 的核心组件之一。HDFS 是一个可靠、可扩展的分布式文件系统,专为存储和处理大规模数据而设计。
HDFS 的特点和工作原理如下:
数据切片: HDFS 将要存储的数据切分成多个数据块(block),通常默认大小为 128MB(可配置),并以块的形式进行存储。这些块被分散存储在集群中的多个数据节点(DataNode)上。
冗余备份: HDFS 通过创建数据块的多个副本来实现冗余备份机制。每个数据块的默认副本数是 3(可配置),这些副本被存储在不同的数据节点上,以提供容错性和高可用性。如果某个数据节点发生故障,数据仍然可以从其他副本中读取。
分布式存储: HDFS 的数据存储是分布式的,意味着数据被分散存储在整个集群的数据节点上。这种分布式存储方式允许数据能够并行读写,从而提高了数据的访问速度和吞吐量。
命名空间和元数据: HDFS 使用 NameNode 来管理文件系统的命名空间和元数据。NameNode 负责记录文件和目录的层次结构,以及数据块的位置信息。它保存了整个文件系统的元数据,包括文件、目录、权限和副本信息等。
故障检测和自动恢复: HDFS 具有故障检测和自动恢复机制。NameNode 定期与数据节点进行心跳通信,以监测节点的状态。如果某个数据节点无法与 NameNode 保持联系,NameNode 将标记该节点为故障节点,并从其他副本中选择新的数据节点进行数据恢复。
通过以上机制,HDFS 提供了高度可靠和可扩展的分布式存储,适合用于存储大规模的结构化和非结构化数据。它被广泛应用于 Hadoop 生态系统中的各种大数据处理任务,如批处理、流处理、机器学习等。