hdfs上的檔案對應的block儲存了多個副本,且提供容錯機制,副本丟失或者宕機都會自動恢復,預設儲存3份副本,下面給出乙個副本擺放的架構圖。
第一副本:放置在上傳檔案的datanode上;如果是集群外提交,則隨機挑選一台磁碟不太慢、cpu不太忙的節點。
第二副本:放置在與第一副本不同的機架的節點上。
第三副本:與第二副本相同機架的不同節點上。
注意:如果還有更過的副本,則隨機放在節點上。
對於上傳檔案到hdfs時,此時hadoop的副本係數是幾,則檔案的塊副本數就有幾份,無論以後怎麼更改系統的副本係數,這個檔案的副本數都不會改變。
在上傳檔案時可以指定副本係數,dfs.replication是客戶端屬性,不指定具體的replication時採用預設副本數,如果仔細閱讀過hadoop+spark+zookeeper高可用集群搭建(二)的配置檔案的話,你會發現我們在hdfs-site.xml檔案中第一條配置的即為dfs.replication資訊。在檔案上傳後,備份數已經確定,此時再修改dfs.replication不會影響以前的檔案,也不會影響後面指定備份數的檔案,只會影響後面採用預設備份數的檔案。
replication預設是由客戶端決定的,如果客戶端未設定才會去配置檔案中讀取。
如果再hdfs-site.xml中設定了dfs.replication = 1,這也並不一定就是塊的備份數是1,因為可能沒把hdfs-site.xml加入到工程的classpath裡,那麼我們的程式執行時讀取的dfs.replication可能是hdfs-default.xml中的預設值3。
HDFS的副本機制 副本機制的過程
hdfs的副本機制 快速恢復能力 副本機制 保證資料的容錯性 因為datanode上的資料是會丟失的,存第一塊的時候,又複製出一塊存放在其他兩個節點上,存放的相當於副本 假如說node1機器宕機了,其他的機器是有存放node1的block副本,即使node1宕機也不影響資料的完整性的 a.txt 在...
kafka 副本機制
kafka通過副本機制保證資料的可靠性 一.副本機制的概念如下 1.乙個partition有多個副本replication,一般是3個或5個 2.每個副本位於不通的broker 3.每個副本集合裡有乙個leader副本,其餘的為follower副本,只有leader副本才接受讀寫請求,followe...
分布式技術專題 副本機制
1 raft協議原理 raft 2 單個shard的複製 raft single 3 raft group組 在一定情況下,copyset的數量不是越多越好,在恢復時間確定的情況下,找到合適的copyset的數量可以降低資料丟失的概率。為了提高儲存系統資料可靠性,首先在系統允許的成本範圍內選擇合適的...