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 生態系統中的各種大數據處理任務,如批處理、流處理、機器學習等。