linux中sts中添加hadoop,Linux下Hadoop Eclipse插件编译安装

刚刚开始研究Hadoop,在写Map Reduce程序的时候觉得用vim不够用,于是想在Eclipse下面配置一下相关的环境。

按照Hadoop in Action的说法,本来想用Hadoop Studio,但是发现现在只有30天的试用版,于是找了一下,发现Hadoop本身有带Eclipse的插件,于是觉得可以用一下。 不过又发现Hadoop的Eclipse插件现在没有二进制版直接提供,只能自己编译。不过要注意,一定要下载Hadoop的src包,不然是不带源代码的。

编译部署中间碰到了一点问题,记录下来。

首先,讲一下系统环境,Linux的发行版是Linux Mint 14,Hadoop版本是1.1.2。

我的hadoop安装在/home/kinuxroot/apps/hadoop-1.1.2下面(hadoop的根路径),所以源代码的目录是hadoop根路径下的src/contrib/eclipse-plugin。

Eclipse安装路径是/home/kinuxroot/apps/eclipse。

接下来我们来讲一下具体如何编译。

我们进入hadoop根路径下的src/contrib/eclipse-plugin,然后修改一下build.xml。

具体做如下修改:

1.先要加入eclipse的设定和hadoop的版本设定,我的eclipse安装在/home/kinuxroot/apps/eclipse下,所以我们要修改为:

这一步,location中的路径请大家根据各自的实际路径进行修改。

2.我们需要引用hadoop的一些包,但是默认的classpath没有这些包(我们没有从头编译)。所以需要修改classpath

定位,加入:

3.代码中使用了一些遗留功能,所以我们要修改deprecation的设定。

打开hadoop根路径下面的src/contrib/build-contrib.xml,定位

然后修改成

4.修改includeantruntime设置。定位compile的target,修改javac的设置,加入一个选项

includeantruntime="on"

也就是将javac修改成

5.jar打包的时候需要hadoop的一些jar文件,但是我们没有编译生成它,所以我们需要修改一下jar这个target。

另外,有几个jar是我们需要用到,而build.xml里面没有自动包含的,如果不包含它们,Eclipse连接Hadoop会出现failure to login错误,其实就是找不到类

找到

我们修改成

6.但是这样,我们的jar文件还是不会自动部署到eclipse中,你可以手动复制,但是我们希望ant帮我们自动部署进去。

我们新建一个target,用来部署:

然后修改project的默认target,也就是将project修改成:

7.接下来一步我们要修改Hadoop根目录下的src/contrib/META-INFO/MANIFEST.MF,修改这个jar的classpath。

找到这个文件的Bundle-ClassPath这一行,然后,修改成

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

8.执行ant,代码就会被编译,插件会被自动安装到eclipse的plugins目录中,打开eclipse就可以使用了(如果没有安装ant,

请去apache观望下载ant的二进制编译版)。另外编译时会自动联网下载需要的包,所以请保证网络通畅。

最后,我把我的build.xml贴在下面,大家可以参考:

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值