Hadoop 的分布式存儲是指 Hadoop Distributed File System(HDFS),它是 Hadoop 的核心組件之一。HDFS 是一個可靠、可擴展的分布式文件系統(tǒng),專為存儲和處理大規(guī)模數(shù)據(jù)而設(shè)計。
HDFS 的特點和工作原理如下:
數(shù)據(jù)切片: HDFS 將要存儲的數(shù)據(jù)切分成多個數(shù)據(jù)塊(block),通常默認大小為 128MB(可配置),并以塊的形式進行存儲。這些塊被分散存儲在集群中的多個數(shù)據(jù)節(jié)點(DataNode)上。
冗余備份: HDFS 通過創(chuàng)建數(shù)據(jù)塊的多個副本來實現(xiàn)冗余備份機制。每個數(shù)據(jù)塊的默認副本數(shù)是 3(可配置),這些副本被存儲在不同的數(shù)據(jù)節(jié)點上,以提供容錯性和高可用性。如果某個數(shù)據(jù)節(jié)點發(fā)生故障,數(shù)據(jù)仍然可以從其他副本中讀取。
分布式存儲: HDFS 的數(shù)據(jù)存儲是分布式的,意味著數(shù)據(jù)被分散存儲在整個集群的數(shù)據(jù)節(jié)點上。這種分布式存儲方式允許數(shù)據(jù)能夠并行讀寫,從而提高了數(shù)據(jù)的訪問速度和吞吐量。
命名空間和元數(shù)據(jù): HDFS 使用 NameNode 來管理文件系統(tǒng)的命名空間和元數(shù)據(jù)。NameNode 負責(zé)記錄文件和目錄的層次結(jié)構(gòu),以及數(shù)據(jù)塊的位置信息。它保存了整個文件系統(tǒng)的元數(shù)據(jù),包括文件、目錄、權(quán)限和副本信息等。
故障檢測和自動恢復(fù): HDFS 具有故障檢測和自動恢復(fù)機制。NameNode 定期與數(shù)據(jù)節(jié)點進行心跳通信,以監(jiān)測節(jié)點的狀態(tài)。如果某個數(shù)據(jù)節(jié)點無法與 NameNode 保持聯(lián)系,NameNode 將標記該節(jié)點為故障節(jié)點,并從其他副本中選擇新的數(shù)據(jù)節(jié)點進行數(shù)據(jù)恢復(fù)。
通過以上機制,HDFS 提供了高度可靠和可擴展的分布式存儲,適合用于存儲大規(guī)模的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。它被廣泛應(yīng)用于 Hadoop 生態(tài)系統(tǒng)中的各種大數(shù)據(jù)處理任務(wù),如批處理、流處理、機器學(xué)習(xí)等。