编译hadoop1.2.1 eclipse插件

2023-10-17 18:58

本文主要是介绍编译hadoop1.2.1 eclipse插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录说明

      在编译之前,我们需要先下载后Hadoop 1.2.1的源码文件,并解压到合适的位置。在此我是把hadoop直接放到D盘根目录,另外由于在编译的工程中需要知道eclipse的路径,所以首先计划目录结构如下如下:
Eclipse: D:\DTools\eclipse
Hadoop: D:\hadoop-1.2.1

Step1 导入 Hadoop-eclipse 插件工程

1. 下载hadoop-1.2.1.tar.gz,并解压缩到 D盘根目录下
2. 在 Eclipse 中选择 File—>Import—>General/Existing Projects into Workspace 导入Hadoop的Eclipse插件项目。选择路径为D:\hadoop-1.2.1\src\contrib\eclipse-plugin,然后点击Finish.其默认的项目名称是 MapReduceTools。




Step2 导入所需 jar 包


在项目 MapReduceTools 中新建 lib 目录,将 hadoop-1.2.1 下的 hadoop-core-1.2.1.jar(重命名为 hadoop-core.jar),及其 lib 目录下的 commons-cli-1.2.jar、commons-lang-2.4.jar、commons-configuration-1.6.jar、jackson-mapper-asl-1.8.8.jar、jackson-core-asl-1.8.8.jar、commons-httpclient-3.0.1.jar 拷贝到该目录。
 


Step3 修改build-contrib.xml


将D:\hadoop-1.2.1\src\contrib目录下的build-contrib.xml文件拷贝到项目目录中,注意:build-contrib.xml文件以eclipse-plugin是在同一级目录中,拷贝完成以后修改build-contrib.xml文件。修改的内容如下。
  1. <!-- 修改 hadoop 存放目录   -->
  2. <property name="hadoop.root" location="D:/hadoop-1.2.1"/>
  3. <!-- 添加 eclipse 存放目录  -->
  4. <property name="eclipse.home" location="D:/DTools/eclipse" />
  5. <!-- 添加 hadoop 版本   -->
  6. <property name="version" value="1.2.1"/>
复制代码


Step4 修改build.xml

在build.xml 文件中,一共需要修改三个部分,四个地方的内容。具体如下面代码所示。
  1. <!-- 1.修改 build-contrib.xml的位置,去掉"../" -->
  2. <import file="build-contrib.xml"/>

  3. <!-- 2.添加如下,否则提示"软件包 org.apache.hadoop.fs 不存在" -->
  4. <path id="hadoop-jars">
  5.   <fileset dir="${hadoop.root}/">
  6.     <include name="hadoop-*.jar"/>
  7.   </fileset>
  8. </path>

  9.   <path id="classpath">
  10.     <pathelement location="${build.classes}"/>
  11.     <pathelement location="${hadoop.root}/build/classes"/>
  12.     <path refid="eclipse-sdk-jars"/>
  13.           <path refid="hadoop-jars"/> <!--这行为添加的内容-->
  14.   </path>

  15. <!-- 3.修改并添加 jar 包拷贝,有些内容已存在,只添加不存在内容   -->
  16.   <target name="jar" depends="compile" unless="skip.contrib">
  17.     <mkdir dir="${build.dir}/lib"/>
  18.     <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
  19.           <copy file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib" verbose="true"/>
  20.           <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
  21.           <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
  22.           <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
  23.           <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
  24.           <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
  25.     <jar
  26.       jarfile="${build.dir}/hadoop-${name}-${version}.jar"
  27.       manifest="${root}/META-INF/MANIFEST.MF">
  28.       <fileset dir="${build.dir}" includes="classes/ lib/"/>
  29.       <fileset dir="${root}" includes="resources/ plugin.xml"/>
  30.     </jar>
  31.   </target>
复制代码



Step5 修改MANIFEST.MF
在Bundle-ClassPath添加下面的内容。
  1. Bundle-ClassPath: classes/,
  2. lib/hadoop-core.jar,
  3. lib/commons-cli-1.2.jar,
  4. lib/commons-httpclient-3.0.1.jar,
  5. lib/jackson-core-asl-1.8.8.jar,
  6. lib/jackson-mapper-asl-1.8.8.jar,
  7. lib/commons-configuration-1.6.jar,
  8. lib/commons-lang-2.4.jar
复制代码



Step6 Ant 编译 1. 右键 MapReduceTools 工程,Properties—>Builders—>New—>Ant Builder
2. 修改New_Builder编辑界面中的内容
Name (见名知意): plugin_Builder
Buildfile (build.xml的位置): D:\hadoop-1.2.1\src\contrib\eclipse-plugin\build.xml
3. 修改完成保存
4. 点击Project—>Build Project进行生成
点击Project—>Build Project开始进行生成,这时候我们会看到控制台输出一堆相关的编译信息,编译成功会看到在控制台输出 BUILD SUCCESSFUL 。编译结果在 d:\hadoop-1.2.1\build\contrib\eclipse-plugin 目录下。
 



Step6 查看编译成果

编译结果在 d:\hadoop-1.2.1\build\contrib\eclipse-plugin 目录下。我们可以看到在目录下生成了hadoop-eclipse-plugin-1.2.1.jar,这时如果我们需要安装插件到eclipse的话就需要将 hadoop-eclipse-plugin-1.2.1.jar 放入 到eclipse的plugins 目录下,重启 eclipse即可。

 


最后如果在使用eclipse调试程序的时候不幸遇到0700错误的话,
Exception in thread "main"Java.io.IOException:Failed to set permissions ofpath:\tmp\hadoop-ysc\mapred\staging\ysc-2036315919\.staging to 0700
请参照 http://f.dataguru.cn/thread-225329-1-1.html 的帖子的解决方法。
我个人也就参照这个帖子解决的这个问题,在此表示感谢。

这篇关于编译hadoop1.2.1 eclipse插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/227312

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码