四步来完成编译eclipse插件的过程
虽然使用Java编写MapReduce作业有点繁琐,但是对于刚入门hadoop的新手来说,有利于理解hadoop的一些底层实现,这无疑也是一种巨大的收获。目前大部分的MapReduce作业都是使用Hive,Pig完成的,当然也有用其他语言实现的,通过使用HadoopStreaming的方式,用原生Java写MR作业的只有很少一部分。在Hadoop2.x中,已经不支持eclipse的插件了,不过可以在配置的XML文件里,加入远程监控的端口,来监控hadoop集群。
由于1.0之后hadoop已经不自带eclipse的插件包了,所以得需要我们自己编译源码生成插件包,建议在Linux下编译,Windows下可能有时候会报一些莫名其妙的错误,先介绍下散仙的环境,Centos6.4的版本,hadoop1.2.0的版本,
hadoop的目录在/root/hadoop-1.2.0下面
eclipse的目录在/root/eclipse下面
总结一下如下的四步来完成编译eclipse插件的过程
步骤 | 操作 | 1 | 进入/root/hadoop-1.2.0/src/contrib/eclipse-plugin下面,修改build.xml | 2 | 进入/root/hadoop-1.2.0/src/contrib下面,修改build-contrib.xml | 3 | /root/hadoop-1.2.0/src/contrib/eclipse-plugin/META-INF下面,修改MANIFEST.MF文件 | 4 | 使用shell命令进入/root/hadoop-1.2.0/src/contrib/eclipse-plugin下面,执行ant命令进行构建 |
下面散仙就来详细介绍下,每一步具体怎么操作,在第一步里我们需要向build.xml里面,加入的内容有
1,eclipse的根目录.
2.hadoop的版本号.
3.hadoop的一些引用包.
4,在javac里加入 includeantruntime="on".
内容如下所示:
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: MapReduce Tools for Eclipse Bundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=true Bundle-Version: 0.18 Bundle-Activator: org.apache.hadoop.eclipse.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.jdt.launching, org.eclipse.debug.core, org.eclipse.jdt, org.eclipse.jdt.core, org.eclipse.core.resources, org.eclipse.ui.ide, org.eclipse.jdt.ui, org.eclipse.debug.ui, org.eclipse.jdt.debug.ui, org.eclipse.core.expressions, org.eclipse.ui.cheatsheets, org.eclipse.ui.console, org.eclipse.ui.navigator, org.eclipse.core.filesystem, org.apache.commons.logging Eclipse-LazyStart: true Bundle-ClassPath: classes/,lib/commons-cli.jar,lib/commons-httpclient.jar,lib/hadoop-core.jar,lib/jackson-mapper-asl.jar,lib/commons-configuration.jar,lib/commons-lang.jar,lib/jackson-core-asl.jar Bundle-Vendor: Apache Hadoop
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: MapReduce Tools for Eclipse Bundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=true Bundle-Version: 0.18 Bundle-Activator: org.apache.hadoop.eclipse.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.jdt.launching, org.eclipse.debug.core, org.eclipse.jdt, org.eclipse.jdt.core, org.eclipse.core.resources, org.eclipse.ui.ide, org.eclipse.jdt.ui, org.eclipse.debug.ui, org.eclipse.jdt.debug.ui, org.eclipse.core.expressions, org.eclipse.ui.cheatsheets, org.eclipse.ui.console, org.eclipse.ui.navigator, org.eclipse.core.filesystem, org.apache.commons.logging Eclipse-LazyStart: true Bundle-ClassPath: classes/,lib/commons-cli.jar,lib/commons-httpclient.jar,lib/hadoop-core.jar,lib/jackson-mapper-asl.jar,lib/commons-configuration.jar,lib/commons-lang.jar,lib/jackson-core-asl.jar Bundle-Vendor: Apache Hadoop
至此,已经ant编译完毕,截图如下
启动eclipse后,截图如下:
至此,插件已经完美生成,并运行,因为受上传限制的影响,所以散仙在这里上传不了这个jar包,