`

Linux下成功编译hadoop-eclipse-plugin-${version}.jar

阅读更多

转:http://chqz1987.blog.163.com/blog/static/51438311201301511853170/

   最近在学习hadoop,首先第一步学着编译了下hadoop-eclipse插件,中间遇到了不少问题,但最终还是解决了。现将编译过程记录下来,便于后面使用。
      这里是基于hadoop-1.0.4和eclipse Indigo版本。
      这里以HADOOP_HOME来表示您电脑上hadoop的安装目录。
     
1、编辑${HADOOP_HOME}/src/contrib/下的build-contrib.xml文件
添加{version}和{eclipse.home}属性:

<projectname="hadoopbuildcontrib"xmlns:ivy="antlib:org.apache.ivy.ant"> 

<!-- 这里定义了 version & eclipse.home -->  

<propertyname="version"value="1.0.4"/>  

<propertyname="eclipse.home"value="/home/chqz/systool/eclipse/eclipse"/>
 

<propertyname="name"value="${ant.project.name}"/>  

<propertyname="root"value="${basedir}"/>  

<propertyname="hadoop.root"location="${root}/../../../"/>

2、编辑${HADOOP_HOME}/src/contrib/eclipse-plugin/下的build.xml文件
(1) 添加hadoop-jars path,并同时加入到classpath中:

<!-- 这里添加了 hadoop-jars -->
<pathid="hadoop-jars">
<filesetdir="${hadoop.root}/">
<includename="hadoop-*.jar"/>
</fileset>
</path>


<!-- Override classpath to include Eclipse SDK jars -->
<pathid="classpath">
<pathelementlocation="${build.classes}"/>
<pathelementlocation="${hadoop.root}/build/classes"/>
<pathrefid="eclipse-sdk-jars"/>

<!-- 将 hadoop-jars 添加到这里 -->
<pathrefid="hadoop-jars"/>

</path>

(2) 设置includeantruntime=on,防止compile时报warning:

<targetname="compile"depends="init, ivy-retrieve-common"unless="skip.contrib">
<echomessage="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
srcdir="${src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"

<!-- 设置includeantruntime=on,防止compile报warning -->

  includeantruntime="on">
<classpathrefid="classpath"/>
</javac>
</target>

(3) 添加将要打包到plugin中的第三方包列表:

<!-- Override jar target to specify manifest -->
<targetname="jar"depends="compile"unless="skip.contrib">
<mkdirdir="${build.dir}/lib"/>

  <!-- 这里主要修改的是file中的值,注意路径一定要正确 -->
<copyfile="${hadoop.root}/hadoop-core-${version}.jar"

tofile="${build.dir}/lib/hadoop-core.jar"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-cli-1.2.jar"

todir="${build.dir}/lib"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-lang-2.4.jar"

todir="${build.dir}/lib"verbose="true"/>
<copyfile="${hadoop.root}/lib/commons-configuration-1.6.jar"

todir="${build.dir}/lib"verbose="true"/>
<copyfile="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"

todir="${build.dir}/lib"verbose="true"/>
<copyfile="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"

todir="${build.dir}/lib"verbose="true"/>
<copyfile="${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">
<filesetdir="${build.dir}"includes="classes/ lib/"/>
<filesetdir="${root}"includes="resources/ plugin.xml"/>
</jar>
</target>

3、执行ant命令以生成hadoop-eclipse-plugin-${version}.jar包:
   进入到${HADOOP_HOME}/src/contrib/eclipse-plugin/目录下,
   然后执行ant命令,输出结果如下:

[chqz@chqz eclipse-plugin]$ ant
Buildfile:/home/chqz/plugin/hadoop/hadoop-1.0.4/src/contrib/eclipse-plugin/build.xml

check-contrib:

init:
[echo] contrib: eclipse-plugin

init-contrib:

ivy-download:
[get]Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar
[get]To:/home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivy-2.1.0.jar
[get]Not modified - so not downloaded

ivy-probe-antlib:

ivy-init-antlib:

ivy-init:
[ivy:configure]::Ivy2.1.0-20090925235825:: http://ant.apache.org/ivy/ ::
[ivy:configure]:: loading settings :: file =/home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivysettings.xml

ivy-resolve-common:
[ivy:resolve]:: resolving dependencies :: org.apache.hadoop#eclipse-plugin;working@chqz
[ivy:resolve]  confs:[common]
[ivy:resolve]  found commons-logging#commons-logging;1.0.4 in maven2
[ivy:resolve]  found log4j#log4j;1.2.15 in maven2
[ivy:resolve]:: resolution report :: resolve 152ms:: artifacts dl 4ms
---------------------------------------------------------------------
||            modules            ||   artifacts   |
|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
|      common      |2|0|0|0||2|0|
---------------------------------------------------------------------

ivy-retrieve-common:
[ivy:retrieve]:: retrieving :: org.apache.hadoop#eclipse-plugin [sync]
[ivy:retrieve]  confs:[common]
[ivy:retrieve]0 artifacts copied,2 already retrieved (0kB/8ms)
[ivy:cachepath] DEPRECATED:'ivy.conf.file'is deprecated,use'ivy.settings.file' instead
[ivy:cachepath]:: loading settings :: file =/home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivysettings.xml

compile:
[echo] contrib: eclipse-plugin

jar:

BUILD SUCCESSFUL
Total time:2 seconds

最后成功生成的hadoop-eclipse-plugin-${version}.jar在${HADOOP_HOME}/build/contrib/eclipse-plugin下。

drwxrwxr-x.3 chqz chqz 409611522:50 classes
drwxrwxr-x.2 chqz chqz 409611521:49 examples
-rw-rw-r--.1 chqz chqz 562515911523:03 hadoop-eclipse-plugin-1.0.4.jar
drwxrwxr-x.2 chqz chqz 409611523:03 lib
drwxrwxr-x.3 chqz chqz 409611521:49 system
drwxrwxr-x.3 chqz chqz 409611521:49 test

 

分享到:
评论

相关推荐

    hadoop-eclipse-plugin-1.1.2.jar

    hadoop 1.1.2 的eclipse 插件 经测试可用 如不可用 可以参考如下自行编译 首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${...在${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 执行 ant jar

    ant打包hadoop-eclipse-plugin

    在本文中,我们将深入探讨如何使用Apache Ant工具在Windows环境下打包Hadoop-eclipse-plugin,这是一个允许开发者在Eclipse IDE中创建和调试Hadoop MapReduce项目的插件。以下是详细步骤: 首先,你需要下载Apache ...

    hadoop-eclipse-插件编译方法

    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`这五个包复制到`hadoop-eclipse-plugin-1.2.0.jar`的`lib`目录下。 ##### 8. ...

    hadoop-eclipse-plugin-2.8.1.jar,可用

    hadoop2.8.1的Myeclipse插件,Myeclipse版本是2014,亲测可用。 对比网上的版本,主要的问题是MANIFEST.MF少hadoop-hdfs-client-2.8.1.jar包的描述... value="classes/, lib/hadoop-hdfs-client-${hadoop.version}.jar,

    hadoop-eclipse-plugin-2.6.0-cdh5.4.2

    最新编译的eclipse-plugin 基于eclipse(Version: Luna Service Release 2)编译

    hadoop-eclipse-plugin-1.0.4.jar

    hadoop eclipse 插件,从源码编译的,在3.7上是正常的,其它版本未测试

    hadoop1.1.2 eclipse 插件

    在用eclipse 搭建hadoop插件时,apache不会提供插件,插件必须自己编译并且声称jar包。...复制D:\hadoop-1.1.2\contrib\eclipse-plugin\hadoop-eclipse-plugin-1.1.2.jar 到 eclipse安装目录/plugins/ 下。

    hadoop-eclipse-plugin-1.2.1.jar

    hadoop eclipse 插件,编译环境 hadoop1.2.1+ eclipse 版本 Version: Kepler Service Release 1 在我的ubuntu下亲测可用

    hadoop集群配置及mapreduce开发手册

    ##### 3.1 Hadoop Eclipse Plugin编译 - 安装Hadoop Eclipse Plugin,以方便在Eclipse IDE中进行MapReduce开发。 ##### 3.2 Eclipse Plugin配置 - 配置Eclipse中的Hadoop插件,包括设置Hadoop安装路径、JDK路径等...

    hadoop2.6版的windows平台的eclipse插件

    hadoop-eclipse-plugin-2.6.0.jar windows8 x64下用eclipse开发hadoop2.6.0的程序 编译环境: java:1.8.20 eclipse: Version: Luna Service Release 1a (4.4.1) Build id: 20150109-0600 正常使用

    Hadoop集群配置及MapReduce开发手册

    **3.1 Hadoop Eclipse Plugin编译** - **安装Hadoop Eclipse Plugin**: 使用插件可以更方便地进行MapReduce程序的开发和调试。 - **配置Eclipse Plugin**: 设置Eclipse IDE中的Hadoop插件,以连接到Hadoop集群。 *...

    kettle批量插入hive2,解决表输出速度慢问题

    - 使用新编译的jar包替换掉Kettle安装目录下的相应插件jar包。 5. **测试验证** - 重启Kettle后,在DB连接的Hadoop Hive2连接的特征列表中检查`supportsBatchUpdates`是否已更改为“Y”。 - 进行实际的数据转换...

    nutch安装开发环境的配置

    你需要在 Eclipse 工程目录下找到 `build.xml`,然后通过 `Run As` -&gt; `Ant Build` 来编译源代码。这将生成必需的 `nutch.jar` 文件。 2. **java.lang.RuntimeException: org.apache.nutch.plugin....

    MapReduce WordCount Java API代码实现,包括pom.xml的配置

    为了在Eclipse或IDEA中运行此项目,你需要确保已经安装了Hadoop,并配置了环境变量,包括`HADOOP_HOME`和`JAVA_HOME`。然后,你可以使用Maven插件来构建和运行项目,或者将项目导入IDE,配置相应的运行配置,指定...

Global site tag (gtag.js) - Google Analytics