1. 程式人生 > >【問題解決】利用Eclipse,在hadoop上傳檔案到hdfs沒有內容

【問題解決】利用Eclipse,在hadoop上傳檔案到hdfs沒有內容

本文適用於一些在網上找了半天答案都沒解決問題的人群,因為我也是在按網上說道弄了一天,最後才解決的。如果你是剛遇到問題,還沒有深入,建議你檢視這篇文章
http://f.dataguru.cn/hadoop-208802-1-1.html
將問題一步一步排除後仍沒有解決的話,可以試試我這個方法。如果還是不行,那就我也無能為力了,革命道路還很漫長,你仍需努力啊!!(笑哭)

問題描述:
這裡寫圖片描述
它沒有任何報錯的資訊,檔案照常建立,但檔案就是沒有內容,開啟是空的。唯一可疑的地方就是上傳速度太慢了,一個只有幾個字元的檔案上傳了40多秒。剛開始以為自己的筆記本太渣了。直到解決問題後。
這裡寫圖片描述
如果你符合上述問題描述的話,那麼恭喜,你應該找到了解決方案。

解決方案:
問題的根本就是你的防火牆沒有關閉,說道這裡有人會質疑,防火牆我早關了呀,沒錯防火牆你是關了,不然就不會訪問到hadoop,但恰恰是這個原因,你忽略了大的問題,你只關了nameNode的防火牆,dataNode的防火牆你或許忘關了。這就導致了你能正常訪問hadoop,但卻無法上傳檔案內容。而等待的那40多秒時間 ,是因為它在不停的訪問dataNode的ip但由於防火牆許可權,一直不能訪問成功。最後以失敗告終,但空檔案卻生成在了nameNode上,所以就有了你現在所處的尷尬局面。


刪除原來的空檔案後重新上傳程式碼。
這裡寫圖片描述
問題解決,看看上傳時間,只有不到三秒的時間,和以前相差十五倍的時間。
這裡寫圖片描述

用瀏覽器訪問看看,可以顯示出詳細資訊。

這裡寫圖片描述

注意:我這裡連nameNode加上,用虛擬機器一共只開了三臺Linux,我將所有的防火牆都關了才解決的問題。