windows下eclipse调试hadoop详解
1)下載Eclipse
http://www.eclipse.org/downloads/
Eclipse Standard 4.3.2 64位
?
2) 下載Hadoop版本對應的eclipse插件
我的hadoop是1.0.4,因此下載hadoop-eclipse-plugin-1.0.4.jar
下載地址:http://download.csdn.NET/detail/m_star_jy_sy/7376169
?
3)安裝hadoop插件
將hadoop-eclipse-plugin-1.0.4.jar拷貝到eclipse的plugins目錄下即可
?
4)重啟eclipse,檢查hadoop插件是否加載成功
單擊菜單:Window/Open Perspective/Others…彈出Open Perspective對話框,出現Map/Reduce即表示安裝成功,見下圖:
?
5)設置hadoop安裝路徑
選擇菜單:Window/Preferences,彈出Preferences對話框,如下圖所示:
?
選擇Hadoop Map/Reduce ,設置Hadoop Install directory(Hadoop安裝路徑)。Hadoop的安裝路徑就是hadoop安裝包hadoop-1.0.4.tar.gz解壓縮后的路徑
?
5)配置hadoop
選擇菜單:Window/Show View/Other…,彈出Show View對話框。
?
在對話框中選擇MapReduce Tools下的Map/Reduce Locations,打開Map/Reduce Locations視圖。如下圖所示:
?
在Map/Reduce Locations視圖中,右鍵選擇New Hadoop Location…菜單,彈出New Hadoop Location對話框,如下圖所示:
在彈出的對話框中你需要配置Location name,如Hadoop,還有Map/Reduce Master和DFS Master。這里面的Host、Port分別為你在mapred-site.xml、core-site.xml中配置的地址及端口。UserName設置為運行hadoop的賬號名,例如:hadoop。
?
配置完后退出。點擊DFS Locations-->Hadoop如果能顯示文件夾(2)說明配置正確,如果顯示"拒絕連接",請檢查你的配置。
至此,環境基本搭建好了。下面就通過經典的WordCount例子來試驗下了。
?
6)準備測試數據
在本地新建word.txt,內容如下:
| Java?c++?Python?c |
通過copyFromLocal命令把本地的word.txt復制到HDFS上,命令如下:
$:hadoop fs -copyFromLocal /usr/hadoop/word.txt word.txt
本例假設word.txt存放在/usr/hadoop/目錄下
?
7)新建hadoop項目
File-->New-->Other-->Map/Reduce Project
項目名可以隨便取,如WordCount。 復制 hadoop安裝目錄src/example/org/apache/hadoop/example/WordCount.java到剛才新建的項目下面。
?
8)運行程序
右鍵單擊WordCount項目,選擇Run As-->RunConfigurations…,彈出Run Configurations對話框。如下圖所示:
右鍵單擊左邊的Java Application,選擇New菜單新建一個配置項,取名為Wordcount。在Arguments選項卡中設置Program arguments:為:
| hdfs://192.168.0.19:9000/user/hadoop/word.txt hdfs://192.168.0.19:9000/user/hadoop/out |
第一行為輸入文件,第二行為輸出結果文件。
如果運行時報java.lang.OutOfMemoryError: Java heap space 配置VM arguments參數:
| -Xms512m -Xmx1024m -XX:MaxPermSize=256m |
設置完后,單擊Run。
?
9)錯誤1
現象:
ERROR security.UserGroupInformation:?PriviledgedActionExceptionas:zhuming?cause:java.io.IOException: Failed to set permissions of path:\tmp\hadoop-zhuming\mapred\staging\zhuming1380233490\.staging to 0700
Exceptionin thread "main"?java.io.IOException: Failed toset permissions of path:\tmp\hadoop-zhuming\mapred\staging\zhuming1380233490\.staging to 0700
?
解決方案:
下載hadoop-core-1.0.4-modified.jar替換到hadoop安裝目錄下的hadoop-core-1.0.4.jar文件
下載地址:http://download.csdn.net/detail/m_star_jy_sy/7376283
?
10)錯誤2
現象:
org.apache.hadoop.security.AccessControlException:org.apache.hadoop.security.AccessControlException: Permission denied:user=zhuming, access=WRITE,inode="hadoop":hadoop:supergroup:rwxr-xr-x
atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
?
原因:
因為Eclipse使用hadoop插件提交作業時,會默認以zhuming身份(windows當前用戶)去將作業寫入hdfs文件系統中,對應的也就是 HDFS上的/user/xxx , 我的為/user/hadoop,由于zhuming用戶對user/hadoop目錄并沒有寫入權限,所以導致異常的發生。
?
解決方法:
放開/user/hadoop目錄的權限,命令如下:$ hadoop fs -chmod 777 /user/hadoop
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的windows下eclipse调试hadoop详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用 matlab库_pyt
- 下一篇: mysql日期截取年月_摄影大赛丨“我遇