= java.io.IOException: File XXX could only be replicated to 0 nodes, instead of 1 = * 今天系統一直遇到這個問題: {{{ 09/07/09 16:37:45 WARN dfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/waue/input/input/hadoop-site.xml could only be replicated to 0 nodes, instead of 1 }}} 看了超多人的解法,沒一個有用。後來才發現自己的問題是:硬碟空間不足了,硬碟的使用率99%,難怪hdfs不給寫資料,ok 不過也許還會有不同情況但卻發生這個錯誤訊息。 這個錯誤訊息意思是,他想要放檔案,但沒半個node可以給存取,因此我們需要檢查: 1. 系統或hdfs是否還有空間 (像我就是) 2. datanode數是否正常 3. 是否在safemode 4. 讀寫的權限 * 什麼都檢查過都正常的話,也只好砍掉重練了 * ps: 被這bug困住很久,進度嚴重落後中... = eclipse & hadoop plugin 新發現 = * 既上次有熱心hadoop使用者寫信告訴我eclipse europa 可以正常使用hadoop 的eclipse plugin ,但一直都沒空去試,今天特地做了一下實驗 * 熱心使用者告訴我 先用eclipse europa開了專案之後就像解封印一樣,即使之後再用eclipse 3.5來開此專案也能正常無誤的進行 * 但今天測試下來發現,eclipse europa確實可以正常無誤的使用hadoop eclipse plugin,但若之後用eclipse 3.5來開,原本存在的問題還是存在。而且之後若再用回eclipse europa來開這個專案,會變成這個專案不會出現在 project eplorer裡,估計是因為eclipse 3.5可能放了些metadata在這個專案中,使得eclipse europa 一讀到這些資訊就起笑了。 == 結論 == * eclipse 3.2 3.3 ~ 3.5 各個版本似乎只有差一點,但其實差個0.1版就很多,plugin在3.3能work的,不見得3.4就可以。 * hadoop eclipse plugin 適用於 eclipse 3.3 版 [http://archive.eclipse.org/eclipse/downloads/drops/R-3.3.2-200802211800/index.php 下載網址於此] * eclipse 設定 hadoop server時,不但port要指定對,連ip、hostname也是有差,(也就是說有可能 localhost:9000 錯,但 127.0.0.1:9000 對)如何給個正確的值,請用 "netstat -altp" 來看其port對應到的host為何。但看hadoop-site.xml當初是給什麼值才是最準的 * 設定正確的話,我可以在自己的電腦上面用eclipse開發好程式後,直接把程序丟到hadoop.nchc.org.tw來運作(但目前node沒有對外ip,因此data or job跑到node後就會無法溝通而停頓)