主要是这两篇文章:
http://varyall.iteye.com/blog/763886
http://hi.baidu.com/feng2211/blog/item/4ab8a2095eb1b9a42eddd48e.html
在我的实践过程中,按照前者的顺序,ant compile->ln -sf ... ->ant package
在ant package时会出现相当多的问题,如要求jdk5安装路径,apache forrest安装路径,等等
根据后一篇文章,其实是不需要全部package的,可以只编译打包eclipse-plugin的;
先compile,然后在build-contrib.xml里添加两行
<property name="version" value="$你的hadoop版本,比如0.20.2"/> <property name="eclipse.home" location="${你的eclipse安装路径}"/>
还要将hadoop-core-x.x.x.jar 拷贝到build文件夹下,然后再ant jar
最后会在build/contrib/eclipse-plugin下有一个jar,这样就可以用了
注意:
我当时是在ubuntu里编译的,而且这个hadoop是我做的虚拟集群中的一台,因为已经编译过了一次,导致我后来启动hadoop时,无法顺利启动,报的是
org.apache.hadoop.hdfs.server.datanode.DataNode: Incompatible build versions: namenode BV = ; datanode BV = 911707
这个错误,即namenode与datanode的hadoop版本不一致,namenode update也没有用,后来只有通过将原版的0.20.2包再解压覆盖才恢复正常的。