Hadoop 0.21.0 Eclipse plugin相关

[b][size=large]全部弄好可以在eclipse 3.6下正常跑的包在[url=http://dl.iteye.com/topics/download/5062187d-d58b-327f-a4be-89840816a93f]这里下载[/url][/size][/b]
  Hadoop当前最新的版本是0.21.0,安装运行等等参照说明文档都没问题,唯独需要开发其上面的应用时需要hadoop-0.21.0-eclipse-plugin.jar,产生了一系列问题,经过网上搜及自己摸索,现已解决,记录在此。
  由于Hadoop的Eclipse插件作者比较懒(暂且这么想吧),Hadoop0.21.0发行版中的hdoop-0.21.0-eclipse-plugin.jar是只针对较低版本的Eclipse的,至少在最新版的Eclipse(3.6)中加载会直接报错,这种情况下,需要自己使用\hadoop-0.21.0\mapred\src\contrib\eclipse-plugin中的源代码进行修改并重新编译。需要修改的文件如下
\hadoop-0.21.0\mapred\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\launch\HadoopApplicationLaunchShortcut.java

//import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut;


\hadoop-0.21.0\mapred\src\contrib\build-contrib.xml
26行处添加本机的Eclipse的目录,如
<property name="eclipse.home" location="H:/Program Files/eclipse"/>

按理说这样就可以直接编译了,下载最新版本的ant(1.8.2),到
\hadoop-0.21.0\mapred\src\contrib\eclipse-plugin\
下直接执行ant test,会发现报错,说缺少hadoop的common和hdfs俩部分组件,原因在于这两个依赖包的网络服务器地址已经失效了,解决办法也很简单,自己在本地建立一个目录,如
C:\hadoop\
在其中放置上述两个依赖包及pom文件,我打好一个包放在附件中(hadoop.rar)供参考,最后修改
\hadoop-0.21.0\mapred\src\contrib\eclipse-plugin\ivysettings.xml

<property name="snapshot.apache.org" value="https://repository.apache.org/content/repositories/snapshots/" override="false">

修改为
<property name="snapshot.apache.org" value="file:/c:/hadoop" override="false">

\hadoop-0.21.0\mapred\src\contrib\eclipse-plugin\build.xml
62行添加
includeantruntime="false"

\hadoop-0.21.0\mapred\
下面添加lib目录并把hadoop-mapred-0.21.0.jar拷贝到此目录中


再次进行编译(ant test)就可以通过了,然后通过ant package编译打包,就可以得到jar文件,在这个过程中又会提示一些错误,按照提示信息拷贝相应的jar包到相应的目录下即可。

[color=red]至此打出来的jar包依然是有问题的![/color]
这个jar包和发行版中自带的hadoop-0.21.0-eclipse-plugin.jar都有相同的问题,就是被eclipse加载后,无法添加loaction,需要向jar包内lib目录中添加
hadoop-hdfs-0.21.0.jar
hadoop-mapred-0.21.0.jar
log4j-1.2.15.jar
修改jar包内META-INF目录中的MANIFEST.MF
Bundle-ClassPath: classes/,lib/commons-cli-1.2.jar,lib/hadoop-common.jar,lib/hadoop-hdfs-0.21.0.jar,lib/hadoop-mapred-0.21.0.jar,lib/log4j-1.2.15.jar

经过上述折腾,总算得到能用的插件包了,由此可以理解Hadoop为什么版本号更新的如此之慢了 :x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值