hadoop-1.2.1 eclipse插件編譯
在ubuntu上進行hadoop相關的開發,需要在eclipse上安裝hadoop開發插件。最新釋放出的hadoop包含源碼的包,以hadoop-1.1.1為例,包含相關的eclipse插件的源碼,因此可以針對自己的eclipse版本來編譯一個hadoop的eclipse插件,我的eclipse的版本代號為indigo,以此為例,下面詳細介紹插件的編譯安裝過程。
一. 下載hadoop-1.2.1
我的下載地址為:(http://www.fayea.com/apache-mirror/hadoop/common/stable/hadoop-1.2.1.tar.gz )下載完成后解壓到文件目錄下
二. 安裝ant
# sudo apt-get install ant。
三. 修改編譯配置文件
在hadoop解壓目錄下,找到src\contrib\eclipse-plugin\build.xml,修改以下幾行:
<path id="hadoop-core-jar"> <fileset dir="${hadoop.root}/"> <include name="hadoop*.jar"/> </fileset> </path> <!-- Override classpath to include Eclipse SDK jars --> <path id="classpath"> <pathelement location="${build.classes}"/> <pathelement location="${hadoop.root}/build/classes"/> <path refid="eclipse-sdk-jars"/> <path refid="hadoop-core-jar"/> </path> ...... <target name="jar" depends="compile" unless="skip.contrib"> <mkdir dir="${build.dir}/lib"/> <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/> <jar jarfile="${build.dir}/hadoop-${name}-${version}.jar" manifest="${root}/META-INF/MANIFEST.MF"> <fileset dir="${build.dir}" includes="classes/ lib/"/> <fileset dir="${root}" includes="resources/ plugin.xml"/> </jar> </target>
找到src\contrib\build-contrib.xml,添加以下幾行:
<property name="version" value="1.2.1"/> <property name="ivy.version" value="2.1.0"/> <property name="eclipse.home" location="..."/>
eclipse的路徑請換成你主機上的eclipse存放路徑。
然后,打開命令行,進入目錄\src\contrib\eclipse-plugin,輸入ant編譯,如果一切正常就編譯通過了。
最后可以在{hadoophome}\build\contrib\eclipse-plugin路徑下找到編譯好的插件。
四. 幾個注意點
1. 一定要在網絡環境下進行,如果需要設置上網代理,可以在src\contrib\build-contrib.xml中添加如下幾行:
<target name="proxy" > <property name="proxy.host" value=""/> <property name="proxy.port" value="80"/> <property name="proxy.user" value=""/> <property name="proxy.pass" value=""/> <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/> </target>
在xml文件中的ivy相關文件的下載任務中,添加以上代理任務的依賴,配置為:
<target name="ivy-download" depends="proxy" description="To download ivy " unless="offline"> <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/> </target>
2. 如果出現編譯提示類的版本不匹配的問題,請確認你的java版本大於1.6。
打包后的插件下載地址:
http://files.cnblogs.com/alex-blog/hadoop-eclipse-plugin-1.2.1.zip