Hadoop-0.20.203.0通過Eclipse連接編程

對於Hadoop開發者來講,通過JAVA API編程是進入Map-Reduce分佈式開發的第一步。由於Eclipse本身並沒有提供對MapReduce編程模式的支持,所以需要一些簡單的步驟來實現。

1. 安裝Hadoop。

本文的Hadoop是部署在虛擬機上的僞分佈模式。相關軟件環境如下:

JDK: sun jdk1.6.0_30

Hadoop:  hadoop-0.20.203.0

Linux:  Ubuntu 11.10

Eclipse:  Eclipse Indigo 3.7.1

關於Hadoop僞分佈環境的具體配置方式,此處不再贅述。設置方面,core-site.xml中fs.default.name中填寫的是hdfs://localhost:9000

 

2. 設置環境

在終端中輸入

$ sudo vim /etc/profile

修改運行環境,在文件最尾添加如下內容:

export HADOOP_HOME=/home/wangyucao/hadoop-0.20.203.0 (此處即爲hadoop的安裝目錄)
export PATH=$PATH:#HADOOP_HOME/bin

 

3. 安裝Eclipse

在Ubuntu軟件中心搜索Eclipse進行安裝,或者通過官網下載Eclipse歸檔文件。此處選擇通過官網下載,得到:

eclipse-jee-indigo-SR1-linux-gtk.tar.gz 

解壓該文件,並放在/usr目錄下:

$ tar -zxvf eclipse-jee-indigo-SR1-linux-gtk.tar.gz 

$ sudo mv eclipse /usr/

完成安裝步驟。

 

4. 安裝hadoop-eclipse插件

hadoop的發行版本中都包含了hadoop-eclipse-plugin插件。在開發hadoop應用時,需要首先安裝該Eclipse插件。

看到網上的教程,一般都是說直接將HADOOP_HOME/lib中的 hadoop-eclipse-plugin-0.20.203.0.jar 複製到eclipse安裝目錄下的plugins目錄中。但是在我實踐嘗試中,發現hadoop-0.20.203.0版本的該包如果直接複製到eclipse的插件目錄中,在連接DFS時會出現錯誤,提示信息爲: "error: failure to login",彈出的錯誤提示框內容爲"An internal error occurred during: "Connecting to DFS hadoop". org/apache/commons/configuration/Configuration". 經過察看Eclipse的log,發現是缺少jar包導致的。進一步查找資料後,發現直接複製hadoop-eclipse-plugin-0.20.203.0.jar,該包中lib目錄下缺少了jar包。

經過網上資料蒐集,此處給出正確的安裝方法:

首先要對hadoop-eclipse-plugin-0.20.203.0.jar進行修改。用歸檔管理器打開該包,發現只有commons-cli-1.2.jar 和hadoop-core.jar兩個包。將HADOOP_HOME/lib目錄下的 commons-configuration-1.6.jar , commons-httpclient-3.0.1.jar , commons-lang-2.4.jar , jackson-core-asl-1.0.1.jar 和 jackson-mapper-asl-1.0.1.jar 等5個包複製到hadoop-eclipse-plugin-0.20.203.0.jar的lib目錄下,如下圖:

然後,修改該包META-INF目錄下的MANIFEST.MF,將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

如下圖:

這樣就完成了對hadoop-eclipse-plugin-0.20.203.0.jar的修改。

最後,將hadoop-eclipse-plugin-0.20.203.0.jar複製到Eclipse的plugins目錄下:

$ cd ~/hadoop-0.20.203.0/lib

$ sudo cp hadoop-eclipse-plugin-0.20.203.0.jar /usr/eclipse/plugins/

 

5. 在Eclipse中對該插件進行配置。

首先,打開Eclipse,設置好workspace。

選擇window -> open perspective -> Other... , 選擇有大象圖標的 Map/Reduce.

此時,就打開了Map/Reduce的開發環境。可以看到,右下角多了一個Map/Reduce Locations的框。如下圖:

然後,設置Hadoop的環境參數。選擇Map/Reduce Locations 標籤,點擊該標籤最右邊的大象圖標,即那個齒輪狀圖標右側的大象圖標,打開參數設置頁面,參數填寫如下圖:

Location Name : 此處爲參數設置名稱,可以任意填寫

Map/Reduce Master (此處爲Hadoop集羣的Map/Reduce地址,應該和mapred-site.xml中的mapred.job.tracker設置相同)

    Host: localhost

    port: 9001

DFS Master  (此處爲Hadoop的master服務器地址,應該和core-site.xml中的 fs.default.name 設置相同)

    Host: localhost

    Port: 9000

設置完成後,點擊Finish就應用了該設置。

此時,在最左邊的Project Explorer中就能看到DFS的目錄,如下圖所示。

到這裏,就完成了hadoop插件的設置過程。

出處:http://hi.baidu.com/wangyucao1989/blog/item/279cef87c4b37c34c75cc315.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章