HDFS資料副本的擺放策略

2021-09-29 07:33:22 字數 818 閱讀 7829

副本的存放位置對於hdfs的效能和可靠性是非常重要的,如果副本的存放機制不好的話,在計算的過程中很大可能會產生資料傳輸,這樣對於頻寬和磁碟的io影響非常巨大。因此對於優化副本的擺放來說,hdfs還是跟其他的分布式檔案系統有所區別的。hdfs需要大量的優化以及經驗,因此不同的hadoop版本的副本的擺放策略可能是不一樣的。

rack-aware(機架感知),例如有100臺機器,前面60臺在機架1中,後面40臺在機架2中。

利用機架感知策略可以改善資料的可靠性,可用性和網路頻寬利用率。當前的副本擺放策略實現正式往這個策略中努力,還是有很大的提公升空間的,也就是說還在優化。

在乙個大的hdfs集群中都是跨機架執行的。如果兩個節點再不同的機架上,如果想進行通訊,那麼一定要走交換機,這種情況下,如果在同乙個機架上的機器之間網路的頻寬一定會優於不同機架上機器之間的網路頻寬。

例如datanode1在機架1中,datanode2在機架2中,他們之間的關係就是通過namenode中的rack-aware(機架感知)來確定的。如果把所有的副本都放在乙個機架中,雖然這種做法簡單,但並不是乙個最好的策略,如果機架掛掉之後,那麼整個集群也就無法正常使用了,為了防止資料丟失,應該在多個機架上去讀資料。然而機架感知策略也是有成本的,增加了不同機架之間的寫操作。

通常情況下,hadoop預設的副本數量是3,假設有兩個機架,如果操作的時datanode那麼hdfs的這個擺放策略會將乙個副本擺放到本機器中,如果操作的不是datanode,就會隨機挑選乙個datanode, 另外乙個副本會放在不同的機架上面,第三個副本會在與第二個副本在同乙個機架中,但是在不同的節點上。因為機架掛掉的可能性遠小於節點掛掉的可能性。

HDFS資料副本存放策略

1.副本放置策略 第一副本 放置在上傳檔案的datanode上 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二副本 放置在於第乙個副本不同的機架的節點上 第三副本 與第二個副本相同機架的不同節點上 hdfs採用一種稱為機架感知 rack aware 的策略來改進資料的可靠性 ...

HDFS副本存放策略

第乙個block副本放在和client所在的node裡 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二個副本放置在與第乙個節點不同的機架中的node中 隨機選擇 第三個副本和第二個在同乙個機架,隨機放在不同的node中。如果還有更多的副本就隨機放在集群的node裡。流水線複製...

HDFS副本存放策略

資料分塊儲存和副本的存放,是保證可靠性和高效能的關鍵 將每個檔案的資料進行分塊儲存,每乙個資料塊又儲存有多個副本。這些資料塊副本分布在不同的機器節點上 設定備份數 方法一 配置檔案hdfs site.xml dfs.replication 3方法二 通過命令修改備份數 bin hadoop fs s...