我知道这个问题以前被问过很多次,但我找不到这个特定案例和最新的问题。如何在 Hadoop 2.5.2 中安装 Eclipse MapReduce 插件?我找到了多个针对其他版本的教程,我知道可以从这里编译它,但是该链接虽然显示 2.x,但最多只能显示 2.4.1。无论如何,我都尝试使用以下命令使用 2.5.2 编译它:
ant jar -Dversion=2.4.1 -Dhadoop.version=2.5.2 -Declipse.home=/opt/eclipse -Dhadoop.home=/usr/local/hadoop -DBuildfile: build.xml
这试图编译,但随后返回
警告:找不到要复制的文件/usr/local/hadoop/share/hadoop/common/lib/jackson-core-asl-1.8.8.jar。
这是有道理的,因为Hadoop 2.5.2中这个jar的版本是1.9.13。
然后我尝试使用 2.5.2 版,即使 jar 中没有提到它,因为它说它们支持 2.x。
ant jar -Dversion=2.5.2 -Dhadoop.version=2.5.2 -Declipse.home=/opt/eclipse -Dhadoop.home=/usr/local/hadoop -DBuildfile: build.xml
在这种情况下,它说构建成功,但没有输出 - 没有产生jar,也没有在"编译:"和"jar:"步骤下打印输出。
我什至尝试从这家伙的 github 下载编译后的 jar,但这当然也不起作用 - 当我将 jar 添加到插件文件夹时,它没有出现在 Eclipse 中。
有没有办法在Hadoop 2.5.2中使用插件,或者我必须降级到2.4.1?我正在使用Ubuntu 14.0.4,Hadoop 2.5.2和Eclipse Luna,但如有必要,可以降级。
我从 https://github.com/winghc/hadoop2x-eclipse-plugin/tree/master/release 下载了hadoop-eclipse-plugin-2.6.0.jar(在撰写本文时这是最新的),并将jar文件粘贴到Eclipse的插件文件夹中。它给了我"映射/减少"向导,我得到了"在Hadoop上运行"选项!! 我正在使用Eclipse Luna。
您可以使用"Hadoop"向导来定义HDFS服务器。
如果你只需要从 eclipse 运行 map-reduce 作业,那么你需要
- 在 eclipse 中创建 Java 项目
- 在项目参考库中添加 hadoop jar 文件
Mapreduce程序可以从eclipse编译和执行。
注: 默认情况下,eclipse 会考虑输入和输出文件的本地文件系统。