我对 Hadoop 的 Eclipse 插件做了一场噩梦。首先,最新的 Hadoop 版本(1.1.1)甚至不包括 Eclipse 插件 jar 文件。 1.0.4版本有插件,但是没用。 Hadoop 的早期版本(例如 0.22.0)具有该插件并且可以正常工作,但是这些 Hadoop 版本很旧,我想使用最新版本。那么,Hadoop 的 Eclipse 插件有什么用呢?为什么最新版本没有插件,或者即使有,插件也不起作用?这个插件大家都有这么多问题吗?我应该放弃这个插件吗?
谢谢, 香农
最佳答案
昨天艰难的安装了hadoop-1.0.4的eclipse插件,测试成功。
插件不工作的原因是jar包丢失了一些库:
- commons-cli-1.2.jar
- commons-configuration-1.6.jar
- jackson-core-asl-1.8.8.jar
- jackson-mapper-asl-1.8.8.jar
- commons-httpclient-3.0.1.jar
- commons-lang-2.4.jar
你可以将这个 jars 从 ${hadoop}/lib 复制到 ${jar}/lib,并且不要忘记修改 MANIFEST>.
为方便起见,我将一些代码添加到${eclipse-plugin-src}/build.xml目标jar
<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-configuration-${commons-configuration.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-${commons-httpclient.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-${commons-lang.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-core-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
并在${eclipse-plugin-src}/META-INF
中修改了MANIFEST.MFundle-ClassPath: classes/,
lib/hadoop-core.jar,
lib/commons-cli-1.2.jar,
lib/commons-configuration-1.6.jar,
lib/jackson-core-asl-1.8.8.jar,
lib/commons-httpclient-3.0.1.jar,
lib/jackson-mapper-asl-1.8.8.jar,
lib/commons-lang-2.4.jar
重建 eclipse-plugin,玩得开心!
关于eclipse - 安装 Hadoop 的 Eclipse 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782042/