2014-04-30 43 views
5

我正在運行具有兩個datanode和一個namenode的Hadoop 2.2.0羣集。當我嘗試在名稱節點或任何數據節點的使用Hadoop fsck命令檢查系統,我得到如下:Hadoop fsck顯示丟失的副本

Target Replicas is 3 but found 2 replica(s). 

我試圖改變配置hdfs-site.xml(dfs.replication 2)並重新啓動集羣服務。在運行hadoop fsck /仍呈現相同的狀態:

Target Replicas is 3 but found 2 replica(s). 

請澄清,這是一個緩存的問題或錯誤?

回答

3

通過設置dfs.replication不會導致您的複製。只有在未指定其複製的文件時纔會引用此屬性。爲了改變以下的Hadoop工具複製可用於

hadoop fs -setrep [-R] [-w] <rep> <path/file>

hdfs dfs -setrep [-R] [-w] <rep> <path/file>

這裏/也可以改變整個文件系統的複製因子指定。

+0

我已經將文件傳輸到HDFS而沒有指定複製因子,當時複製因子被設置爲3,但之後我已將複製因子更改爲2。然後我得到這個目標副本是3,但找到2個副本。 – abbasdjinn

+0

hadoop的FS -setrep [-R] [-w] 是完整的命令也 HDFS DFS -setrep [-R] [-w] 將工作。詳細信息 - https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#setrep – ewm

+0

謝謝,錯過了FS – sachin