資料分塊儲存和副本的存放,是保證可靠性和高效能的關鍵
將每個檔案的資料進行分塊儲存,每乙個資料塊又儲存有多個副本。這些資料塊副本分布在不同的機器節點上
設定備份數
方法一:配置檔案hdfs-site.xml
dfs.replication
3方法二:通過命令修改備份數
bin/hadoop fs -setrep -r 1 /
hadoop fs -setrep -r 3 hdfs://master:9000/
注意:方法二可以改變整個hdfs裡面的備份數,不需要重啟hdfs系統,
方法一需要重啟hdfs系統才能生效。
副本存放位置:
預設的同乙份資料的副本,會有3個
第乙份:存放到本機器的hdfs目錄下
第二份:存放到不同於第乙份所在的機架上的另外乙個機架上的某台伺服器上
第三份:存放在該機架下的隨機一台機器上
namenode如何選擇在哪個datanode儲存副本,這裡需要對可靠性,寫入頻寬和讀取頻寬進行權衡。例如,吧所有副本都儲存在乙個節點損失的寫入頻寬最小,因為複製pipeline都在同乙個節點上執行,但這並不提供真實的冗餘(如果節點發生故障,那麼該塊中的資料就會丟失)。同時,同一機架上伺服器間的讀取頻寬是很高的。另乙個極端,把副本放在不同的資料中心可以最大限度的提高冗餘度,但是頻寬的消耗非常大。 HDFS副本存放策略
第乙個block副本放在和client所在的node裡 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二個副本放置在與第乙個節點不同的機架中的node中 隨機選擇 第三個副本和第二個在同乙個機架,隨機放在不同的node中。如果還有更多的副本就隨機放在集群的node裡。流水線複製...
HDFS資料副本存放策略
1.副本放置策略 第一副本 放置在上傳檔案的datanode上 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二副本 放置在於第乙個副本不同的機架的節點上 第三副本 與第二個副本相同機架的不同節點上 hdfs採用一種稱為機架感知 rack aware 的策略來改進資料的可靠性 ...
副本存放策略
副本的存放策略 1 資料的安全 2 資料塊的負載均衡 這種方案不是一種最完美的方案 兩個問題 1 概念 給乙個資料塊的多個副本選取合適的儲存節點,來保障資料塊的安全 是說將乙個資料塊的三個副本放在三個不同的節點,而不是將乙個檔案的多個不同的資料塊放在不同的節點。2 具體實現 不同機架 不同機房 不同...