hadoop-cdh4.1.5-eclipse插件编译(其它CDH版本步骤类似)

时间:2023-01-21 17:40:45

1、首先安装maven

可以下载离线包apache-maven-3.1.1-bin.tar.gz,解压添加环境变量:

测试maven是否安装成功:

$ mvn -version

 

2、安装ant、automakeautoconflibtool

 sudoapt-get install ant

sudo apt-get install automake autoconf libtool

3/etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_45

export JRE_HOME=/usr/java/jdk1.7.0_45/jre

exportMAVEN_HOME=/usr/maven/apache-maven-3.1.1

export ANT_HOME=/usr/ant/apache-ant-1.9.2

 

exportHADOOP_PREFIX=/usr/hadoop/hadoop-2.0.0-cdh4.1.5

exportHADOOP_MR1_HOME=/usr/hadoop/hadoop-2.0.0-mr1-cdh4.1.5

exportHADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

exportZOOKEEPER_HOME=/usr/hadoop/zookeeper-3.4.3-cdh4.1.5

exportHIVE_HOME=/usr/hadoop/hive-0.9.0-cdh4.1.5

export HBASE_HOME=/usr/hadoop/hbase-0.92.1-cdh4.1.5

exportMAHOUT_HOME=/usr/hadoop/mahout-0.7-cdh4.1.5

exportSQOOP_HOME=/usr/hadoop/sqoop-1.4.1-cdh4.1.5

 

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin:$HADOOP_PREFIX/sbin:$HADOOP_PREFIX/bin:$ZOOKEEPER_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$MAHOUT_HOME/bin:$SQOOP_HOME/bin:$PATH

exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib:$MAVEN_HOME/lib:$ANT_HOME/lib:$HADOOP_HOME/lib:$ZOOKEEPER_HOME/lib:$HIVE_HOME/lib:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$SQOOP_HOME/lib:$JRE_HOME/lib/tools.jar

 

4、在src/contrib/eclipse-plugin/build.xml添加两句

<propertyname="eclipse.home" location="/usr/eclipse/eclipse"/>

<propertyname="version" value="2.0.0-cdh4.1.5"/>

5、

 <!-- 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="contrib-classpath"/>

<filesetdir="${hadoop.root}">

    <include name="**/*.jar" />

</fileset>

 </path>

 

6、修改src/contrib/build-contrib.xml里面

<propertyname="javac.deprecation" value="on"/>

7、

 <!-- ====================================================== -->

 <!-- Compile a Hadoop contrib's files                       -->

 <!-- ====================================================== -->

 <target name="compile" depends="init,ivy-retrieve-common" unless="skip.contrib">

   <echo message="contrib: ${name}"/>

   <javac

    encoding="${build.encoding}"

    srcdir="${src.dir}"

    includes="**/*.java"

    excludes="system/**/*.java"

    destdir="${build.classes}"

    debug="${javac.debug}"

    deprecation="${javac.deprecation}"

includeantruntime="on">

    <classpath refid="contrib-classpath"/>

   </javac>

 </target>

8、build.xml里面的copy项,也可以编好之后再手动copy进去。

9、如果上一步copy的不全,缺少的包,就把缺少的包再放进去,记得改MF。(我的辛酸血泪史是:缺N多包,测试一次只能发现一个问题,就这样copy这包那包反反复复修改N多回,CDH关于eclipse插件这块已经没人维护了,所以要编成功编相当不易!!!比直接用apache的编插件烦多了!!!)

 

 

注意:1、编插件是基于hadoop-2.0.0-cdh4.1.5里面的东西来编,而不是hadoop-2.0.0-mr1-cdh4.1.5

2、eclipse使用插件的时候,hadoop的安装目录是选择hadoop-2.0.0-mr1-cdh4.1.5,里面有core的jar包。而不是hadoop-2.0.0-cdh4.1.5。


OK! GOOD LUCK小伙伴们!

最后附上偶自己编的实用插件下载地址(不嫌麻烦没分的童鞋也可以Q我问我直接要:QQ:八〇陆陆捌4三柒两):http://download.csdn.net/detail/luckymelina/6568235juno可用kepler不行,这个只是针对cdh-4.1.5-mr1的hadoop可用,不是针对apache的,apache的插件很好编,没这么复杂。。。。