Hadoop學習5--配置本地開發環境(Windows+Eclipse)


 

一、導入hadoop插件到eclipse

插件名稱:hadoop-eclipse-plugin-2.7.0.jar

我是從網上下載的,還可以自己編譯。

放到eclipse安裝目錄下的plugins文件夾

tip:

1、竟然沒有plugins文件夾,自己在安裝目錄下新建了個文件夾

2、重啟eclipse后,一直無法看到網上描述的結果,於是刪除了eclipse安裝目錄下的這個文件:platform.xml(去安裝目錄下全局搜索),再次重啟,ok。

重啟eclipse->window->Preferences:

 

右側路徑是你本地的hadoop安裝路徑。

二、配置Map/Reduce Locations

Window->Show View->Others->MapReduce Tools-> Map/Reduce Locations->OK

這時選項卡已經打開了,在主界面里找找吧

打開選項卡后,右上方有個小圖標(我這里是藍色的小象頂着一個加號,夠隱蔽),彈出新窗口,進行配置:

其中,Host使用你的hadoop集群主機ip

前一個Port使用mapred-site.xml的mapred.job.tracker配置(沒有這個配置就加上)

后一個Port使用core-site.xml的fs.default.name配置(沒有加上)

按網上教程,說是保存后,Project Explorer窗口應該出現配置好的HDFS,鑒於本人對java開發工具的不熟悉,研究了好一會,才從Eclipse右上方的Open perspectivet小圖標下的Map/Reduce..點進去,如下圖:

成功后,左側菜單的Project Explorer里,出現了DFS Locations

 

三、我遇到的問題

1、提示無法連接到集群服務器的某一個端口

其實這里有個一個非常簡單的驗證方法,在本機(windows)cmd測試端口開通情況

telnet 你配置的ip 8020

telnet 你配置的ip 9001

我的解決方法是,確保集群的namenode和datanode都正常啟動,則解決上述問題。

(其實這個真的不是必須的,到現在我的8020端口也是telnet不通的,在這個問題上糾結了太長時間)

如果能通(進入一個什么都沒有的頁面),則配置正確。

2、依然報錯,

Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.; Host Details : local host is: "USER-20140422SO/192.168.6.33"; destination host is: "h201":9001; 

類似於上面的錯誤信息,各種查找也沒找到原因

也是各種查證吧,僅限的幾個回復也是說的很籠統,沒辦法只能自己各種嘗試。

后來我又建立了個Map/Reduce Locations,唯一不通的是name和端口,其中端口和前一個是正好相反的配置,發現了一個有趣的問題,DFS Locations區域內的文件夾,看教程都在后面有個括號,里面有數字,代表文件數。而我的一直是(0),一開始一直以為是有問題的,於是就把精力放在前面那個明確報錯的Map/Reduce Locations實例的解決上,於是乎,兩個下午就這么流失了。。。山窮水盡的時候,放棄了這條路,想着,暫時就不使用eclipse遠程連接使用了,我手動打代碼,編譯,然后不也就能看下真正的hadoop執行效果了嗎?

接下來,發生了不可思議的事情。。。

在hadoop fs下創建了文件夾后,無意中在eclipse里那個(0)文件夾上刷新了一下,文!件!出!現!了!

小總結:看來原來的路走的就不對,這個配置本來不是什么難事,因為之前一路走來,很費勁,就想當然的把這個當成個容易出錯的大工程了。

至此,Eclipse配置遠程連接集群,結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM