2017-10-19 145 views
0

我最近安裝了Hadoop(Cloudera)。我遇到了一個錯誤,我在複製塊下(在Cloudera Manager中,它是安裝的GUI)。所以,當我運行HDFS不復制塊

hdfs dfsadmin -report 

我得到

Configured Capacity: 555730632704 (517.56 GB) 
Present Capacity: 524592504832 (488.56 GB) 
DFS Remaining: 524592193536 (488.56 GB) 
DFS Used: 311296 (304 KB) 
DFS Used%: 0.00% 
Under replicated blocks: 5 
Blocks with corrupt replicas: 0 
Missing blocks: 0 
Missing blocks (with replication factor 1): 0 

這意味着,由於某種原因,我的HDFS不復制的塊。從這裏檢查什麼?是否有可能是我的HDFS Balancer的問題,我需要手動運行它?

回答

1

有用於複製塊下有兩個主要的原因:

1.複製因子超過可用的數據節點

假設你只有2個數據節點,以及您的複製因子爲3,則每塊您創建的數據將保持在複製狀態,因爲只有3個數據節點無法複製。

解決方案可以是添加數據節點,或減少複製因子。

2.集羣一直太忙

羣集將優先於塊的複製「真實」的工作。因此,如果您創建了大量的塊,可能需要一段時間才能趕上。如果你的集羣永遠忙碌,理論上可能總會有一些被複制的塊。

請注意,如您所說,它是一個新的羣集,並且磁盤似乎是最空的,我不認爲2會是這種情況。


除了這一點,當然可能是一些真正爆發(如平衡),但我不會擔心,直到您驗證了上述兩種情況可以排除。大多數中斷事件往往會導致錯誤在這裏或那裏,所以假設你沒有看到任何這種情況不太可能。