2015-06-19 92 views
1

我們知道在hadoop中是否會突然創建數據損壞新副本,如果初始化失敗的節點工作正常,那麼namenode如何處理4個副本將刪除一個節點?Hadoop中的容錯

如果是這樣,新創建的或突然出現的那個?

+0

舊的節點元數據將從Namenode中刪除,因此即使已損壞的節點恢復運行,名稱節點也不會有關於存儲在其中的數據的元數據。因此,Hadoop將擁有3個副本(2箇舊副本和1個新副本創建後,其中一箇舊副本被損壞) –

回答

0

的情況時,一個data node下降,name node會看到一些數據塊under-replicated並開始複製到其他節點的集羣中,使複製回預期的水平(默認3)。

當損壞的節點再次上升時,來自該節點的所有塊將被看作具有4個副本的over-replicated

當一個塊變爲over-replicated時,name node會選擇要刪除的副本。 name node寧願不減少託管副本的機架數量,其次更願意使用最少量的可用磁盤空間從data node中刪除副本。這可能有助於重新平衡羣集上的負載。

0

NameNode負責過度複製塊,您不必擔心過度複製塊或手動執行任何操作。

Namenode從具有較少可用磁盤空間的節點中刪除過度複製的塊..這最終有助於羣集重新平衡。