本篇博客講述如何用eclipse配置hadoop的開發環境,而且創建第一個小程序,WordCount。java
本篇博客一些配置選項基於上一篇博客hadoop環境的配置。linux
環境說明:eclipse3.7,插件hadoop-eclipse-plugin-0.20.3-SNAPSHOT.jar,小程序
cygwin服務器
根據其餘博主推薦,3.7是百分百可行的,其餘版本不保證,包括3.7.x,eclipse
親測確實3.7絕對可行,將下載好的插件放入plugins文件夾下,重啓便可。重啓後以下圖所示即表示成功。另外,hadoop0.20版本比較底,最好使用jdk1.6。tcp
Window – Preferences – Hadoop Map/Reduceoop
指向以前在本地解壓的hadoop文件地址,例:測試
D:\developPath\hadoop.net
Window -Show View – Other - Map/Reduce Locations插件
右擊 – New Hadoop – Location
Advanced
parameters重要配置以下,其餘能夠無論,配置好後重啓會自動修改。其中hadoop是個人用戶名,其餘配置是基於上一篇博客的配置。
WordCount測試程序我就不貼上來了,網上有不少,若是有須要,我會在文章結尾處和eclipse3.7壓縮包及插件一塊兒打包分享。
在測試前,先把hadoop啓動。若是配置成功會有以下顯示:
將測試文件上傳到hadoop服務器上,命令以下:
hadoop fs –mkdir /input
hadoop fs –put /usr/download/test.txt /input
hadoop fs -ls /input
命令表示:
在hadoop中建立input目錄
將linux下/usr/download/test.txt文件放入到hadoop的input目錄下
查看input目錄下文件信息
在運行前,一般要傳入兩個參數,一個是輸入文件參數,一個是輸出文件參數,輸入文件參數就是剛纔的input文件夾,輸出參數則是output文件夾,而output文件夾不用事先建好,會自動生成,事前建好反而會報錯,參數傳遞方式能夠寫在java文件裏,也能夠在運行時傳遞。
hdfs://192.168.1.130:54310/input/test.txt
hdfs://192.168.1.130:54310/output
右擊WordCount類,Run As – Run On Hadoop
a) hadoop配置後沒有DFS Locations具體顯示,一直在connect
查看配置是否正確,用戶是否正確,免登陸是否成功,端口是否開放,防火牆是否是關閉了。
CentOS 7用的是firewall,開啓端口命令以下:
firewall-cmd –add-port=1-60000/tcp
表示從1到60000的端口都開放了,能夠用tcp協議訪問,若是關閉防火牆,反而會訪問不了,建議開啓端口便可。
a) 程序沒法運行
若是DFS Locations已經有顯示了,表示配置成功,若是提示Exception in
thread 「main」 java.io.IOException: Cannot run program 「chmod」:
CreateProcess error=2那麼安裝cygwin軟件,並將其bin目錄配置到Path環境下便可,過程同window下配置JAVA_HOME同樣,
若是其餘問題,則注意是不是端口寫錯了。
附帶資源下載:
http://download.csdn.net/detail/feiepuhuo001/9573478
若有錯誤,還望指出,共同進步;手敲累抽搐,裝載注出處。