2016-06-29 17 views
1

我有72個機器的羣集問題。 其中60個是熱儲存,12個是冷庫。 當我試圖把數據放入冷水蜂巢表有時我得到了一個錯誤:Hadoop CDH。文件只能複製到0節點,而不是minReplication(= 1)

Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hive/warehouse/test.db/rawlogs/dt=2016-01-31/.hive-staging_hive_2016-06-29_12-54-09_949_6553181118480369018-1/_task_tmp.-ext-10002/_tmp.001029_3 could only be replicated to 0 nodes instead of minReplication (=1). There are 71 datanode(s) running and no node(s) are excluded in this operation. 

有很多的兩個主機FS和HDFS的自由空間。

Configured Capacity | Capacity Used | Capacity Remaining | Block Pool Used

ARCHIVE 341.65 TB 56.64 TB (16.58%) 267.65 TB (78.34%) 56.64 TB

DISK 418.92 TB 247.78 TB (59.15%) 148.45 TB (35.44%) 247.78 TB

我爲COLD服務器定義了4個機架。

Rack: /50907 1 node

Rack: /50912 1 node

Rack: /50917 1 node

Rack: /80104 9 nodes

這是一個簇的工作,我可以只清除所有數據在計算器上類似的問題,不建議。

更新。我決定在羣集中的所有服務器上部署更新的拓撲腳本。部署完成後,我重新啓動了包括namenode在內的每個節點上的所有hadoop守護進程,但dfsadmin -showTopology顯示了舊方案。我需要做什麼來更新羣集拓撲?也許放置某種緩存等

回答

1

請檢查並嘗試消除所有這8種可能的根源/條件 - https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo。只有排除了所有這些條件,並且如果您仍然無法自行解決此問題,則應該看看以下方法。

小心:namenode格式化會破壞HDFS上的數據!

已經記錄瞭解決此問題的步驟here,herehere。因此,我只給出沒有確切命令的高級步驟,因爲可以在上述鏈接中找到這些步驟以避免重複。

  1. 停止所有Hadoop守護進程
  2. 刪除相關的臨時文件(參見上述鏈接)
  3. 格式的Namenode
  4. 啓動所有Hadoop守護進程
+0

@ janeshs--會發生,如果現有的數據是什麼你格式化namenode? – Farooque

+0

@Farooque - 不幸的是,這個問題需要在很多情況下遵守的格式。 – janeshs

+0

感謝您的建議!不幸的是,wiki上的所有8個條件都與我的問題無關。就我個人而言,我認爲我需要更改COLD datanodes的網絡拓撲。正如你所看到的,有4個機架,其中3個包含ony 1個節點。 – Samriang

相關問題