hadoop源碼eclipse
A. 如何給eclipse安裝hadoop插件找不到
1、下載Eclipse解壓。
2、把hadoop-eclipse-plugin-1.1.2.jar放到eclipse的plugs目錄下。
我的hadoop集群用的版本:hadoop1.1.2
hadoop0.20以後的版本的安裝目錄下contrib/沒有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant編譯。
源文件在:hadoop-x.y.z/src/contrib/eclipse-plugin 下,注意:需要下載源目錄的包,如查下載的是bin的壓縮包,裡面是沒有eclipse插件的源文件的。
3、打開Eclipse
window-- Preferences 出現Hadoop Map/Rece
配置Hadoop installation directory:
注意:我的宿主機windows上並沒有安裝hadoop, hadoop安裝在VM中的centos中
在windows下建了一個目錄F:/myHadoop 把centos hadoop安裝根目錄下的jar包拷過來。
4、新建工程:Map/Rece Project
配置hadoop location:
5、刷新DFS Locations 列出HDFS伺服器上的上的目錄:
6、問題:
在Eclipse上可以列出hadoop集群上的目錄,但不能創建文件,上傳文件
原因:windows下Eclipse安裝了hadoop插件,默認使用的是windows當前用戶去操作hadoop,而我的hadoop集群當前的用戶是grid
而Eclipse中hadoop locations 的高級參數配置,是不能修改這個用戶的:
解決方法:
在windows用戶和組的管理中,把當前用戶修改成hadoop組grid用戶。
但我的機器系統是win7家庭版,打不開用戶和組管理:
不能已,用另一種方案:
windows上新建一個grid用戶,然後再打開Eclipse,創建工程,進行以上的配置DFS Loactioins
發現這時,在Eclipse中可以列出目錄,新建文件夾,上傳文件了。( 或者修改hadoop集群上文件夾的許可權,如:bin/hadoop fs -chmod 777 ./in, 下圖第2個文件是修改hadoop集群文件平許可權後上傳的)
B. hadoopeclipse的插件怎麼安裝
1.插件安裝
在$HADOOP_HOME/contrib/eclipse-plugin/文件夾中有個hadoop-eclipse-plugin-0.20.203.0.jar,把這個文件復制到eclipse/plugins(這是eclipse的插件目錄)下面即可。
注意在直接復制時會出錯,主要是缺少jar包。
解決方法:(1)將commons-httpclient-3.0.1.jar,jackson-core-asl-1.0.1.jar,jackson-mapper-asl-1.0.1.jar,commons-configuration-1.6.jar,lcommons-lang-2.4.jar(這幾個jar包在$HADOOP_HOME/lib/下找到)放入hadoop-0.20.203.0-eclipse-plugin的lib下
(2)修改hadoop-0.20.203.0-eclipse-plugin/META-INF/MANIFEST.MF 中的Bundle-ClassPath項
1
Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
2.環境配置
啟動Eclipse,然後在Window->Preferences->Hadoop Map/Rece中添加Hadoop的安裝目錄
配置hadoop環境:在Window–>Show View中打開Map/Rece Locations,在底部會看到新的選項。然後右鍵–>New Hadoop Location,
Location name是你自己取的名字,我這里用了hadoop,Map/Rece Master這里的host和port對應上面mapred-site.xml中mapred.job.tracker的值,我配置的是localhost和9001;DFS Master對應上面core-site.xml中fs.default.name中的值,我配置的是localhost和9000.
完成後,如果屏幕左上方的DFS Locations中的內容可以正常顯示,說明配置一切成功。
3.運行wordcount
使用Eclipse編寫Hadoop的程序了,按該方式創建File->New->Project->Map/Rece Project.命名為hadoop-test。
將hadoop-0.20.203.0/src/examples/org/apache/hadoop/examples下的wordcount.java復制到當前項目中。
注意:要在src中看到WordCount.java文件,如果已經復制過來還看不到,在hadoop-test上右擊選擇refresh試一試。
另外,直接復制過來的文件,第一行要注釋掉 //package org.apache.hadoop.examples;
在Run configuration/Java Application/WordCount下進行程序參數設置
input為又本地導入HDFS得輸入文件,其中包含兩個文本文件,file01和file02
完成後,使用 Run As/Run on Hadoop運行~~~~
在HDFS系統視圖下可以看到剛才得運行結果
中途碰到得問題:裝得時候不知道怎麼回事,項目側邊欄(Project explorer)看不見了。或者側邊欄是Package explorer,這種情況下是看不見DFS Locations的,應該在菜單欄
Window/Open pespective/<Map/Rece>。然後就能看到HDFS文件系統已經所創建得一些項目。