编译 Hadoop 1.0.2 eclipse插件

新手一下午+一晚上+一早晨的探索,为后续新手留下经验如下:

1、在eclipse里新建一个java项目,名字随意。

2、把hadoop 1.0.2解压目录\src\contrib\eclipse-plugin下所有文件直接拖拽到项目中。\src\contrib目录下的build-contrib.xml也拖拽到项目中。hadoop根目录下的所有jar文件拖拽到eclipse项目中bin目录下。(Linux下:需要更改下src中的包名,可以把src\java\org文件夹拖拽到eclipse项目的src中;不用复制hadoop根目录下的jar包至bin目录,因为根本就没有bin…改为添加user library就行;项目名上右键,build path - add libraries 选择 plugin dependencies - next -finish)

3、修改build-contrib.xml:找到<property name="hadoop.root" location="${root}/../../../"/>修改location为hadoop1.0.2实际解压目录,在其下添加

      <property name="eclipse.home" location="D:/Programming/Eclipse"/>
      <property name="version" value="1.0.2"/>

      具体位置需要改为你的,注意location里的斜杠方向。

4、修改build.xml:找到<import file="../build-contrib.xml"/>,改为<import file="build-contrib.xml"/>。

5、在hadoop解压目录下复制两个jar,没有目录就新建这些目录。分别是:\hadoop-core-1.0.2.jar 到 \build\hadoop-core-1.0.2.jar;\lib\commons-cli-1.2.jar到\build\ivy\lib\Hadoop\common\commons-cli-1.2.jar。(如果没有后面那个jar包先按步骤6运行下build.xml,会自动下载)

6、右键eclipse里的build.xml选择run as - ant build。等待一小会就好了。编译后的文件在:\build\contrib 中的 hadoop-eclipse-plugin-1.0.2.jar。(linux下:按我之前拖org文件夹的方法,此处会报错。类似:BUILD FAILED /home/darkylin/Workspace/Contrib/build.xml:62: srcdir "/home/darkylin/Workspace/Contrib/src/java" does not exist! 修改build-contrib.xml 中)<property name="src.dir"  location="${root}/src/java"/>,去掉location最后面的/java;如此处报编译错误,提示“软件包org.apache.hadoop.fs 不存在”见附录1)

7、这个jar包还不行,虽然能创建视图,新建location,但是连接的时候会各种报错。缺少hadoop的jar包,【引用参考1】将/lib目录下的 commons-configuration-1.6.jar , commons-httpclient-3.0.1.jar , commons-lang-2.4.jar , jackson-core-asl-1.8.8.jar 和 jackson-mapper-asl-1.8.8.jar 等5个包复制到hadoop-eclipse-plugin-1.0.2.jar的lib目录下(用winRAR打开hadoop-eclipse-plugin-1.0.2.jar,拖进去就行)。然后,修改该包META-INF目录下的MANIFEST.MF,将classpath修改为一下内容:

Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar。

8、至此,这个插件就算编译完成了。推荐使用link方式挂载到eclipse中。【参考3】

9、使用可参考:http://hi.baidu.com/geogre_jsj/blog/item/f5bd4065fb99b1c081cb4a88.html#0

10、注意9中引用的“10. 在弹出来的对话框里,根据core-site.xml 和 mapred-site.xml里的端口,进行填写:”port端口号的填写顺序:先是mappred-site.xml配置的端口号,后是core-site.xml中配置的。【参考2】



参考:1、http://blog.csdn.net/matraxa/article/details/7182382

2、http://www.360doc.com/content/10/0803/13/2159920_43357680.shtml

3、http://hi.baidu.com/zlhxinxi83/blog/item/67456f33ed9590fe1a4cff99.html


附录1:

在build.xml中添加:

     <path id="hadoop-jars">
        <fileset dir="${hadoop.root}/">
          <include name="hadoop-*.jar"/>
        </fileset>
      </path>

在<path id="classpath">中添加:<path refid="hadoop-jars"/>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值