ubuntu12.10生成hadoop-eclipse-plugin-1.0.4.jar完全教程

(一)下载并配置好ant
1、不要sudo apt-get来安装,这会包含太多无谓的东西了,在官网下载最新版本的ant并解压缩,在.bashrc上设置ANT_HOME和PATH
注意:PATH设置时要把原来的PATH放在后面,即PATH=${ANT_HOME}/bin:${PATH}而不是PATH=${PATH}:${ANT_HOME}/bin,不然系统会默认选择路径中最新的那个的,设置JAVA_HOME时候也要注意这点,不然ubuntu整天升级,系统会在升级时候安装了open-jdk-7的,到时候java -version就会变成open-jdk-7了的,欲哭无泪呀!
2、在terminal中分别输入以下命令:
sudo apt-get install automake autoconf

sudo apt-get install libtool

否则会在ant时候报出错误:Execute failed: java.io.IOException: Cannot run program "autoreconf" (in directory.... exec] Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.

 

(二)编译生成hadoop-eclipse-plugin-1.0.4.jar

1、修改HADOOP_HOME/build.xml,修改部分为:<property name="version" value="1.0.4-SNAPSHOT">,改成:<property name="version" value="1.0.4"/>

2、打开terminal并定位到HADOOP_HOME/,输入:ant compile,回车
3、定位到HADOOP_HOME/src/contrib/eclipse-plugin/,输入:ant -Declipse.home=<放置eclipse的路径如:home/chiu/eclipse/eclipse-juno(旁边这两个括号是不需要的)> -version=1.0.4 jar,回车。刷完屏幕以后,在HADOOP_HOME/build/contrib/eclipse-plugin/,会有一个hadoop-eclipse-plugin-1.0.4.jar文件出现了。
但这时候还不能把这个文件放进eclipse里面,这个东东缺少了几个jar,需要我们重新添进去,但不要模仿网上的方法,用归档文件打开再归档是很容易出错的,我们应该
4、把生成的hadoop-eclipse-plugin-1.0.4.jar文件删除,往HADOOP_HOME/build/contrib/eclipse-plugin/lib/添加commons-httpclient-3.0.1.jar,commons-lang-2.4.jar,commons-configuration-1.6.jar,jackson-core-asl-1.8.8.jar,jackson-mapper-asl-1.8.8.jar这5个jar文件注意:从HADOOP_HOME/lib/复制粘贴,贴多了应该没事的,但是版本要一样,不要最新版本的,因为最新版本的函数名可能有所修改,会导致最后报错!)
5、修改HADOOP_HOME/src/contrib/eclipse-plugin/META-INF/MANIFEST,把原有的部分修改为:(注意逗号位置,最后一行是没有逗号的)
Bundle-ClassPath: classes/,
 lib/commons-cli-1.2.jar,
 lib/commons-configuration-1.6.jar,
 lib/commons-httpclient-3.0.1.jar,
 lib/commons-lang-2.4.jar,
 lib/hadoop-core.jar,
 lib/jackson-core-asl-1.8.8.jar,
 lib/jackson-mapper-asl-1.8.8.jar
6、定位到HADOOP_HOME/src/contrib/eclipse-plugin/,再次输入:ant -Declipse.home=<放置eclipse的路径如:home/chiu/eclipse/eclipse-juno(旁边这两个尖括号是不需要的)> -Dversion=1.0.4 jar,回车。刷完屏幕以后,在HADOOP_HOME/build/contrib/eclipse-plugin/,会重新有一个hadoop-eclipse-plugin-1.0.4.jar文件出现了。
7、把hadoop-eclipse-plugin-1.0.4.jar文件复制到别的地方,然后在terminal处定位到HADOOP_HOME/,输入ant clean,执行之。
注意:(1)伪分布式好像不做第5步也是可以的,但是完全分布式必须也做第5步,不然打开eclipse后会报出什么如:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils或者java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration这样的错误出来;(2)伪分布式好像不做第7步也是可以的,但是完全分布式必须也做第7步,不然当执行start-all以后,jps会发现namenode下有namenode,但是datanode下是没有datanode的,只有tasktracker,就算有,当执行一两个操作以后,datanode也是会自动消失的,这要特别注意!
 
(三)通过软链接添加到eclipse中
1、不要把生成的jar直接拉进ECLIPSE_HOME/plugins里面,这种习惯不好,应该在ECLIPSE_HOME的同一目录下新建一个文件夹,命名为:eclipse_plugins
2、把hadoop-eclipse-plugin-1.0.4.jar放到eclipse_plugins下的hadoop-1.0.4/eclipse/plugins/中
3、在ECLIPSE_HOME里新建文件夹并命名为:links
4、在links下新建空白文文本文档并命名为:hadoop.link
5、往hadoop.link中添加一行:path=/home/xxxx/.../eclipse_plugins/hadoop-1.0.4
6、重新打开eclipse
注意:有可能重新打开后还是不行的,那就links文件夹剪切到别处,打开一次eclipse(这时会没有了MapReduce那些选项了,然后退出eclipse,把links文件重新放到ECLIPSE_HOME目录下,再打开eclipse,这次应该就会好的了(原因,有时候eclipse会默认把旧的jar放到它的缓存里去,当新旧jar的路径,名称都一样时,它就会默认的用了以前的jar文件而不会重新定位到新的那里去了!)

posted on 2013-04-06 16:46  DeeFOX  阅读(806)  评论(0编辑  收藏  举报

导航