使用MyEclipse IDE进行hadoop 开发的时候,需要导入hadoop-eclipse-plugin。本文记录了如何通过https://github.com/winghc/hadoop2x-eclipse-plugin进行该插件的生成。
前提是安装ant,解压包,并把安装路径添加到~/.bash_profile即可。
下载或clone https://github.com/winghc/hadoop2x-eclipse-plugin这个包到本地
找到你的hadoop安装地址和myeclipse的安装地址
对mac来说:
myeclipse的安装地址是要能够找到一个plugin文件夹的地方。
/Applications/MyEclipse 2017 CI/MyEclipse 2017 CI.app/Contents/Profile根据readme中的提示在相应的目录下执行:
1
ant jar -Dversion=2.9.2 -Dhadoop.version=2.9.2 -Declipse.home=/Applications/MyEclipse\ 2017\ CI/MyEclipse\ 2017\ CI.app/Contents/Profile -Dhadoop.home=/usr/local/hadoop-2.9.2
执行上述命令后会停在一个ivy common的地方一直不动。这个时候修改./eclipse-plugin/build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
<echo message="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
srcdir="${src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}">
<classpath refid="classpath"/>
</javac>
</target>
将该条改为
<target name="compile" unless="skip.contrib">继续运行上述命令。之后会得到一系列jar包找不到的报错,其实都是因为版本的问题。在google上搜索相应版本的jar包并添加进命令中hadoop的安装目录下/usr/local/hadoop-2.9.2/share/hadoop/common/lib
直到编译完成生成hadoop-eclipse-plugin-2.9.2.jar.
问题
这个方法只在MyEclipse下生成成功,但是在Eclipse下没有生成成功,问题应该是Eclipse中的plugins/下插件没有提供。MyEclipse和Eclipse的hadoop插件是通用的。