hadoop-eclipse開發環境搭建及error: failure to login錯誤

來源:互聯網
上載者:User

對於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外掛程式的設定過程。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.