Hadoop HDFS資料副本存放策略

2021-07-15 19:59:59 字數 861 閱讀 2189

hadoop培訓內容:hdfs資料副本存放策略,副本的存放是hdfs可靠性和高效能的關鍵。優化的副本存放策略是hdfs區分於其他大部分分布式檔案系統的重要特性。這種特性需要做大量的調優,並需要經驗的積累。

hdfs採用一種稱為機架感知(rack-aware)的策略來改進資料的可靠性、可用性和網路頻寬的利用率。目前實現的副本存放策略只是在這個方向上的第一步。實現這個策略的短期目標是驗證它在生產環境下的有效性,觀察它的行為,為實現更先進的策略打下測試和研究的基礎。

大型hdfs集群系統往往執行在跨越多個機架的資料中心,不同機架上的兩台機器之間的通訊需要經過交換機。在大多數情況下,同乙個機架內的兩台機器間的頻寬會比不同機架的兩台機器間的頻寬大。

通過乙個機架感知的過程,namenode可以確定每個datanode所屬的機架id。乙個簡單但沒有優化的策略就是將副本存放在不同的機架上。這樣可以有效防止當整個機架失效時資料的丟失,並且允許讀資料的時候充分利用多個機架的頻寬。這種策略設定可以將副本均勻分布在集群中,有利於元件失效情況下的負載均衡。但是,因為這種策略的乙個寫操作需要傳輸資料塊到多個機架,因此增加了寫的代價。

hdfs預設的副本係數是3,這適用於大多數情況。副本存放策略是將第乙個副本存放在本地機架的節點上,將第二個副本放在同一機架的另乙個節點上,將第三個副本放在不同機架的節點上。這種策略減少了機架間的資料傳輸,這就提高了寫操作的效率。機架的錯誤遠遠比節點的錯誤少,所以這個策略不會影響資料的可靠性和可用性。

與此同時,因為資料塊只放在兩個(不是3個)不同的機架上,所以此策略減少了讀取資料時需要的網路傳輸總頻寬。在這種策略下,副本並不是均勻分布在不同的機架上。三分之一的副本在乙個節點上,三分之一的副本在同乙個機架的其他節點上,其他副本均勻分布在剩下的機架中,這一策略在不損害資料可靠性和讀取效能的情況下改進了寫的效能。

Hadoop HDFS資料組織

hadoop培訓內容 hdfs資料組織,1.資料塊,2.staging,3.流水線式的複製 1.資料塊 hdfs最適合的應用場景是處理大資料集合,同時這些應用多是一次寫入多次讀取,並且讀的速度要滿足流式讀,即write once read many的語義。乙個典型的block大小是64mb,因此檔案...

Hadoop HDFS 讀寫資料

1 初始化filesystem,然後客戶端 client 用filesystem的open 函式開啟檔案 2 filesystem用rpc呼叫元資料節點,得到檔案的資料塊資訊,對於每乙個資料塊,元資料節點返回儲存資料塊的資料節點的位址。3 filesystem返回fsdatainputstream給...

hadoop hdfs 資料讀寫

向 namenode 請求上傳檔案 響應可以上傳檔案 向 namenode 請求,上傳到哪幾台 datanode namenode 返回,指定檔案上傳的 datanode 節點資料 通過獲取到的 namenode 節點資訊,客戶端向乙個節點傳送通訊,開通資料通訊管道 確認建立通道 建立 fsdata...