第一次使用hadoop,另外eclipse也不太熟悉,現在把自己在安裝過程中得瑣碎問題記錄下來。
eclipse版本:eclipse-jee-indigo-SR2-linux-gtk.tar.gz
hadoop版本:hadoop-0.20.203.0
本文前提是,你已經正確安裝了hadoop-0.20.203.0,hadoop偽分布模式的安裝過程網上有很多。
eclipse下載解壓后,直接點擊eclipse圖標打開即可(很綠色環保~~)
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項
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/Reduce中添加Hadoop的安裝目錄
配置hadoop環境:在Window–>Show View中打開Map/Reduce Locations,在底部會看到新的選項。然后右鍵–>New Hadoop Location,
Location name是你自己取的名字,我這里用了hadoop,Map/Reduce 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/Reduce 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/Reduce>。然后就能看到HDFS文件系統已經所創建得一些項目。
參考博客:http://phz50.iteye.com/blog/932373
http://chaoswork.com/blog/2011/12/25/
http://qa.taobao.com/?p=10659