四步来完成编译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.xml2进入/root/hadoop-1.2.0/src/contrib下面,修改build-contrib.xml3/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插件的过程
启动eclipse后,截图如下:

四步来完成编译eclipse插件的过程



至此,插件已经完美生成,并运行,因为受上传限制的影响,所以散仙在这里上传不了这个jar包,

相关推荐