Ubuntu16.04+Hadoop2.9.1 + Eclipse配置(解决New Location无反应)

本文记录在Hadoop和Eclipse安装成功后如何配置开发环境。

版本:Hadoop2.9.1 + Eclipse Luna

想要在Eclipse中编写Hadoop程序,主要是编译Hadoop-Eclipse plugin。

1.去github下载编译工具:https://github.com/winghc/hadoop2x-eclipse-plugin.git

2.按照github上的readme,进入下列目录:

 

3.在上述目录下,输入命令:

注意根据编译的Hadoop版本修改上述的参数:

-Dversion = Hadoop的版本号(eg.; 2.9.1)

-Dhadoop.version = Hadoop的版本号(eg.; 2.9.1)

-Declipse.home = Eclipse的安装路径

-Dhadoop.home = hadoop的安装路径

 

4.上述命令执行过程中会出现问题,第一个是卡在ivy-resolve-common处。

解决方法:修改src\contrib\eclipse-plugin\build.xml文件,去除对ivy的依赖:

<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">

修改为

<target name="compile" unless="skip.contrib"

 

5.第二个问题是会出现无法copy XXX.jar的error。

参考github上的解释:

就是根据 HADDOP_INSTALL_PATH/share/hadoop/common/lib下jar包的不同版本修改 /ivy/libraries.properties中的对应版本号

 

6.第三个问题是Hadoop2.9.1特有的,就是安装完成后启动Eclipse,点击Add New Location没有反应,这其实是因为编译过程中缺少了两个包,这一个问题的解决主要感谢:

https://zhuanlan.zhihu.com/p/38630695

解决方法:修改src\contrib\eclipse-plugin\build.xml文件,主要在两个地方做修改:

 

上图中选中的两个地方就是后加的,也就是编译时需要多编译两个包。Github上只提到了需要修改Bundle Class处,但没说还要增加<copy file …… />的部分,但只修改前者并没有解决问题。

 

7.完成后,再次运行第3步中的ant命令,编译成功后,在hadoop2x-eclipse-plugin-master/build/contrib路径下生成了插件:hadoop-eclipse-plugin-2.9.1.jar

8.将插件复制到ECLIPSE_INSTSALL_PATH/plugins/路径下

9.启动eclipse,打开window===>prefernces,找到Hadoop Map/Reduce选项卡,配置hadoop installation directory目录,指向hadoop的安装目录

10.打开window====>show view====>other,找到Map/Reduce Locations,使其显示

11.点击new hadoop locations,弹出对话框说明配置成功。

 

posted @ 2018-08-09 16:43  Sissie  阅读(2715)  评论(0编辑  收藏  举报