`

编译eclipse下的hadoop插件

阅读更多

     操作系统为ubuntu14.0  

     eclipse版本为4.4

     hadoop版本为hadoop-1.2.1

     hadoop环境为本地的伪分布是环境。

  网络上虽然有很多的hadoop-x.xx.x-eclipse-plugin.jar包,但是很多时候跟你的eclipse版本并不匹配,所以自己编译eclipse插件就很必要。

hadoop eclipse 插件的源代码位于$HADOOP_HOME/src/contrib/eclipse-plugin 下面。 

当然不能直接编译,编译之前需要对相关文件进行修改(首先你要有ant,没有的话需要下载并配置)

1 修改build.xml

    打开eclipse-plugin下面的build.xml, 添加一些properties.如下,第一个为Hadoop的版本,ant下会使用到这个版本来打开获取一些JAR包,所以这个版本要跟你的hadoop版本一致,hadoop目录下的jar包名称也不能够修改,不然会导致找不到jar包,第二个参数是配置eclipse.home的值

  1.   <property name='version' value='1.1.2'/>  
  2.   <property name='eclipse.home' location='/home/cheney/soft/eclipse'/>  

 

接下来在 classpath下添加上hadoop目录下的所有jar包,不然编译的时候会找不到很多类

  1.  <path id="classpath">  
  2.    <fileset dir="${hadoop.root}">  
  3.     <include name="*.jar"/>  
  4.    </fileset>  
  5.     <path refid="eclipse-sdk-jars"/>  
  6.   </path>  

 接着修改,(注意默认配置下,hadoop-core-${version}.jar包在Hadoop根目录下,但是配置文件中却指向了hadoop根目录下的build目录下,所以如果不修改xml配置文件去掉build的话,那么就需要在hadoop下简历build目录,并拷贝根目录下的hadoop-core-${version}.jar到build目录,,同样默认配置下commons-cli-1.2.jar取包位置也不是在根目录下的lib下,而hadoop1.2.1是放在lib下的 也需要修改,而且还要添加很多的jar包进来)修改xml配置文件进行添加是,注意别写错了版本,导致找不到jar文件

  1.   <target name="jar" depends="compile">  
  2.     <mkdir dir="${build.dir}/lib"/>  
  3.     <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>  
  4.     <copy file="${hadoop.root}/lib/commons-cli-1.2.jar"  todir="${build.dir}/lib" verbose="true"/>  
  5.     <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>  
  6.     <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>  
  7.     <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>  
  8.     <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>  
  9.     <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>  
  10.     <jar  
  11.       jarfile="${build.dir}/hadoop-${name}-${version}.jar"  
  12.       manifest="${root}/META-INF/MANIFEST.MF">  
  13.       <fileset dir="${build.dir}" includes="classes/ lib/"/>  
  14.       <fileset dir="${root}" includes="resources/ plugin.xml"/>  
  15.     </jar>  
  16.   </target>

2 修改 eclipse-plugin目录下/META-INF/下的MANIFEST.MF,默认情况下MANIFEST.MF文件下的bundle-ClassPath只有如下所示

Bundle-ClassPath: classes/,

 

 lib/hadoop-core.jar

没有包含所有的需要的jar包,需要修改为:

Bundle-ClassPath: classes/,

 lib/hadoop-core.jar,

 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/commons-jackson-core-asl-1.8.8.jar,

 

 lib/commons-jackson-mapper-asl-1.8.8.jar

注意jar包的文件名不要写错,因为你的Hadoop可能跟我的hadoop使用的版本不同,导致文件名也不同,需要修改

以上修改完后,就可以进行ant了,切换到eclipse-plugin下ant即可,完成后,拷贝到eclipse下的plugins下,重启eclipse即可

存在的问题:

1 网上很多人写的文章中没有配置过第二步,没有第二步也能编译出来plugin jar包,但是在使用的时候会报错,说找不到Configuration类等,虽然你将需要的jar一起打包到了plugin jar包里面,但是因为你没有在MANIFEST.MF引用,还是不会加载。ubuntu下打完jar包在进行修改MANIFEST.MF也不行,可能是因为文件修改后文件MD5不对了导致他还是使用以前的还是什么其他原因,反正不会生效。window下是否可以没有进行测试。所以最好开始的时候就把jar包给配置好,这样就不会出很多问题了。

2 本人配置过eclipse4.4 加 hadoop 0.20.11U版本的plugin,除了以上步骤外,还需要修改

$HADOOP_HOME/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/launch/HadoopApplicationLaunchShortcut.java

[java] view plaincopy
 
  1. import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;  

改为

[java] view plaincopy
 
  1. import org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut;

但是eclipse3.3 + hadoop0.20.x则不需要修改以上代码,而且还需要在path初将json.jar包导入才行

 

分享到:
评论

相关推荐

    eclipse的hadoop插件

    Eclipse的Hadoop插件是开发Hadoop MapReduce应用程序的重要工具,它允许开发者在熟悉的Eclipse集成开发环境中(IDE)编写、调试和管理Hadoop项目。这个插件专为Hadoop 0.20.2版本设计,并且要求Eclipse版本为3.5。在...

    windows下连接hadoop2.2.0的eclipse+hadoop插件

    在Windows环境下,开发基于Hadoop的Java应用程序通常需要一个集成开发环境(IDE),Eclipse是其中常用的一个。本文将详细讲解如何使用Eclipse与Hadoop 2.2.0插件进行连接,以便于在Windows操作系统上进行Hadoop相关...

    eclipse的hadoop2.7插件以及hadoop-common编译文件

    这是Eclipse的Hadoop插件,它允许开发者在Eclipse中直接管理Hadoop集群上的项目,进行地图减少(MapReduce)任务的编写和调试。通过将这个jar文件放入Eclipse的plugins目录下,Eclipse就能够识别并支持Hadoop相关的...

    Eclipse-Hadoop插件2.7.1.zip

    Eclipse-Hadoop插件2.7.1是一个专门为Eclipse集成开发环境设计的扩展,用于支持Apache Hadoop框架的开发工作。Hadoop是大数据处理领域的重要开源项目,它提供了分布式文件系统(HDFS)和MapReduce计算模型,使得...

    windows平台.eclipse的hadoop2.6.1插件 jdk1.6编译的. hadoop是安装包是32位的

    windows平台.eclipse的hadoop2.6.1插件 jdk1.6编译的. hadoop是安装包是32位的

    eclipse hadoop 2.6.1插件

    编译的eclipse hadoop 2.6.1插件

    eclipse hadoop插件

    本篇文章将详细介绍如何在Windows 64位环境下安装和使用Eclipse Hadoop插件,以及插件的主要功能。 首先,确保你的计算机满足以下环境要求: 1. 操作系统:Windows 64位 2. 硬件配置:双核4线程处理器,主频2.2GHz...

    Eclipse-Hadoop2.7.5配套软件及插件

    为了更好地利用Hadoop进行开发工作,Eclipse IDE提供了Hadoop插件,使得开发者能够在熟悉的集成开发环境中更加高效地进行Hadoop应用开发。本篇将详细介绍与Eclipse Mars和Hadoop2.7.5配套使用的软件及插件的相关知识...

    hadoop2.7.7 Eclipse 插件,自己编译,使用有效

    hadoop版本2.7.7 Eclipse 版本4.5.1,dfs location插件,自己编译成功,使用有效,将该jar包放到eclipse的plugins目录下

    eclipse hadoop2.7.4插件

    附件为eclipse的hadoop插件,使用hadoop2.7.4和 eclipse4.7.0 ,在win7 64bit 环境下进行编译生产。可以正常使用。

    eclipse的Hadoop2x插件

    这是eclipse的Hadoop2x插件,可以根据自己的Hadoop版本来编译对应的插件

    eclipse-hadoop2.6.0插件.rar

    Eclipse Hadoop插件正是为了适应大数据开发的需求而设计的。该插件的主要功能包括: 1. **项目配置**:允许用户在Eclipse内直接创建、编辑和管理Hadoop项目,包括设置Hadoop集群的配置信息,如NameNode、JobTracker...

    hadoop-eclipse-2.75插件 centos6.5 +eclipse编译

    本文将详细讲解如何在CentOS 6.5操作系统上配置Hadoop-eclipse插件,以便在Eclipse环境中进行Hadoop项目的开发和调试。 首先,我们需要在Eclipse中安装Hadoop-eclipse插件。这个插件使得开发者可以直接在Eclipse中...

    编译hadoop eclipse插件文档

    这将生成一个`.zip`文件,通常是`eclipse-plugin.zip`,这个文件包含了编译好的Hadoop插件。 要安装这个插件,打开Eclipse,选择`Help` &gt; `Install New Software`,然后点击`Add`按钮,选择`Archive`,浏览并导入...

    64位Win7下Eclipse连接Hadoop用插件2.7.4

    包含几个源编译中漏掉的包,servlet-api,commons-io,更新了htrace-core-3.1.0-incubating.jar

    自己编译的hadoop-1.1.1 eclipse插件

    自己编译的hadoop-1.1.1 eclipse插件

    win7下编译过的hadoop jar包

    win7下编译过的hadoop jar包 hadoop1.1.2 hadoop0.20以后的版本的安装目录下contrib/没有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant编译。

    hadoop mapreduce eclipse插件

    最近学习hadoop,发现Hadoop不提供编译后的hadoop-eclipse插件,于是就自己动手编译了hadoop-eclipse-plugin-1.1.0.rar插件 Hadoop1.1.0是beta版本,有兴趣的朋友可以下载装装,感受下MapReduce编程框架

    hadoop_eclipse插件

    Hadoop Eclipse插件是开发Hadoop MapReduce程序的重要工具,它允许开发者在Eclipse集成开发环境中直接创建、编辑、运行和调试Hadoop作业。通过这个插件,程序员可以方便地将Java应用程序部署到Hadoop集群上,极大地...

    Cygwin+Eclipse搭建Hadoop单机开发环境-2

    为了在Eclipse中编写和运行Hadoop MapReduce程序,你需要安装Hadoop插件,如Hadoop插件for Eclipse(HDPE)或者使用Eclipse的通用插件如Maven,通过Maven的POM.xml文件管理依赖项。这样,你可以在Eclipse中创建、...

Global site tag (gtag.js) - Google Analytics