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目录下,如下图:

0.20.203.0通过Eclipse连接编程的问题

然后,修改该包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

如下图:

0.20.203.0通过Eclipse连接编程的问题

这样就完成了对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/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/195ccf870894d4fdcfa3ac74b42fa002.html