`
androidssh
  • 浏览: 115774 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

eclipse平台编译Hadoop源代码

阅读更多

1. 下载Hadoop源代码
Hadoop 各成员源代码下载地址:http://svn.apache.org/repos/asf/hadoop,请使用SVN下载,在SVN浏览器中将trunk目录下的源代码check-out 出来即可。请注意只check-out出SVN 上的trunk 目录下的内容,如:
http://svn.apache.org/repos/asf/hadoop/common/trunk
而不是http://svn.apache.org/repos/asf/hadoop/common
原因是http://svn.apache.org/repos/asf/hadoop/common 目录下包括了很多非源代码文件,很庞大,导致需要很长的check-out 时间。


2. 准备编译环境


2.1. Hadoop代码版本
本教程所采用的Hadoop 是北京时间2009-8-26 日上午下载的源代码,和hadoop-0.19.x版本的差异可能较大。
2.2. 联网
编译Hadoop 会依赖很多第三方库,但编译工具Ant 会自动从网上下载缺少的库,所以必须保证机器能够访问Internet。
2.3. java
编译Hadoop 要用JDK1.6 以上,网址:http://java.sun.com/javase/downloads/index.jsp
安装好之后,请设置好JAVA_HOME 环境变量。
2.4. Ant和Cygwin
需要使用Ant 工具来编译Hadoop,而Ant 需要使用到Cygwin 提供的一些工具,如sed等,可以从:http://ant.apache.org/ivy/download.cgi 下载Ant,从http://www.cygwin.cn/下载Cygwin(Cygwin 的安装,请参考《在Windows 上安装Hadoop 教程》一文)。安装好之后,需要将Ant 和Cygwin 的bin 目录加入到环境变量PATH 中,如下图所示:

注意:在安装Cygwin 时,建议将SVN 安装上,因为在Ant 编译过程中会通过SVN 下载
些文件,但这个不是必须的,下载不成功时,并未见出错,编译仍然可以成功。

2.5. Eclipse

Eclipse 则可以从http://www.eclipse.org/downloads/上下载。

 

3. 编译Hadoop


在这里,我们以编译Hadoop 家庭成员common 为例,对Hadoop 其它成员的编译方法是类似的。
3.1. 编译common成员
步骤1) 在Elipse 的Package 视图中单击右键,选择New->Java Project,如下图所示:

步骤2) 选择源代码目录,设置Project 名。

在上图所示的对话框中,点击Browse 按钮,选择common 源代码目录,并设置Projectname 为common。工程导入完成后,进入Eclipse 主界面,可以看到common 已经导入进来,但可以看到common 上有红叉叉,是因为Elipse 默认使用了Java Builder,而不是Ant Builder,所以下一步就是设置使用Ant Builder。
步骤3) 设置Builder 为Ant:右键common->Properties->Builders:

在上图所示的界面中,点击New 按钮,在弹出的对话框中选中Ant Builder,确定之后会弹出如下对话框:

点击Browse File System 按钮,选择common 源代码目录下的build.xml 文件,并设置Name 为common_Builder(Name 可以改成其它的,但建议使用common_Builder,因为这样名副其实),操作结果如下图所示:

除上图所示的设置外,还需要设置如下图所示的Targets,建议设置成Manual Build 编译方式,而不是Auto Build 编译方式。因为在Auto Build 模式下,任何修改都会触发编译,而Manual Build 模式下,只在需要的时候,点击编译按钮或菜单编译即可。

Hadoop 各成员都需要编译成jar,所以做如下图所示的一个修改:

确定之后,返回如下图所示的Edit Configuration 对话框:

上面完成后,回到Builder 的主对话框,再将对话框中的Java Builder 下移,并将它前面的勾去掉。
进入Eclipse 主界面,由于之前选择了Manual Build,所以需要人工方式驱动编译,编译成功后,可以看到BUILD SUCCESSFUL 字样。

  请注意:如果上图所示的菜单中的Build Automatically 被勾中,则在common 的右键菜单中可能不会出现Build 子菜单。
在编译过程中,Ant 会自动从网上下载所依赖的库。common 的编译成功结束后,可以在build 目录下找到编译后生成的文件hadoop-core-0.21.0-dev.jar。


3.2. 编译Hadoop其它成员
  hdfs、mapreduce 和hive 的编译方式同common。

 


4. FAQ


4.1. 联网
  确保可以上internet,Ant 需要自动下载很多第三方依赖库,如果不能联网,编译会复杂很多。
4.2. 编译hive
  hive 的编译相对复杂些,而且默认它会编译多个版本的hive,建立修改shims 目录下的ivy.xml 文件,去掉不必要版本的编译。
4.3. 编译生成文件位置
  common 编译后生成build\hadoop-core-0.21.0-dev.jar;
  hdfs 编译后生成build\hadoop-hdfs-0.21.0-dev.jar;
  mapreduce 编译后生成build\hadoop-mapred-0.21.0-dev.jar;
  hive 编译后生成build\service\hive_service.jar,请注意并没有直接放在build 目录下;
  hbase 编译后生成build\hbase-0.21.0-dev.jar;
  有时候在编译某个时出错,可先跳过,编译其它的,Refresh 之后再编译。

分享到:
评论

相关推荐

    通过eclipse项目编译 hadoop 1.0.3 eclipse 4.2 ( juno ) plugin

    导航到Hadoop源代码的根目录,Eclipse会自动识别pom.xml文件并导入项目。 在导入源码后,可能会出现一些错误,主要是由于依赖问题。解决这些问题,你需要检查每个子模块的pom.xml文件,确保所有依赖项都正确配置。...

    Hadoop源代码eclipse编译教程[汇编].pdf

    本文详细介绍了如何使用Eclipse编译Hadoop的源代码,包括下载Hadoop源代码、准备编译环境和编译Hadoop等步骤。通过本文,读者可以更好地掌握Hadoop的编译和使用,从而更好地应用Hadoop在大数据处理和分析中。

    Eclipse中编译运行Hadoop-0.20.1源码

    选择“Create project from existing source”,并指定Hadoop源代码所在的目录。在项目设置中,确保添加了“conf”文件夹作为类路径,以便Eclipse能够找到配置文件。同时,确保在“Order and Export”选项中,“conf...

    CentOS7下安装eclipse并编译hadoop2.x

    1. **下载 Hadoop 源代码:** - 使用 `wget` 或 `curl` 下载 Hadoop 2.x 版本源码包。 2. **解压源码包:** - 使用 `tar -xzf hadoop-2.x.tar.gz` 解压。 3. **配置编译环境:** - 修改 `build.xml` 文件中的 ...

    cygwin中安装hadoop+eclipse编译源码并调试

    总结来说,"cygwin中安装hadoop+eclipse编译源码并调试"是一个涉及多步骤的过程,包括安装Cygwin、配置环境、获取和编译Hadoop源码、导入Eclipse项目以及调试源码。这个过程对理解Hadoop的工作原理以及进行定制化...

    Hadoop源码eclipse编译.pdf

    本文档详细介绍了在Windows环境下使用Eclipse编译Hadoop源码的完整过程。通过对Hadoop源码的编译学习,不仅可以加深对Hadoop内部实现的理解,还能提高解决实际问题的能力。希望本文档能为初学者提供一定的帮助和指导...

    Hadoop源代码eclipse编译指南.zip

    Hadoop源代码eclipse编译指南.zip、Hadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zip

    hadoop资料,hadoop基础,Hadoop源代码eclipse编译教程

    本教程主要围绕"Hadoop基础"和"Hadoop源代码eclipse编译教程"展开,旨在帮助初学者深入理解Hadoop并掌握其实际操作技能。 首先,我们要了解Hadoop的基本概念。Hadoop是由Apache基金会开发的一个开源项目,基于Java...

    Hadoop_eclipse-plugin编译方法

    本文将详细介绍如何编译Hadoop_eclipse-plugin,以便在Eclipse中使用。 首先,你需要准备一个全新的Eclipse工作空间(workspace),并将Hadoop程序的全部源代码复制到这个工作空间中。这是为了确保插件的编译与你的...

    Hadoop源码编译好的源码(eclipse可直接导入)

    对于Eclipse用户,导入这个编译好的源码项目,可以便于进行代码阅读和调试,这对于理解Hadoop的工作原理、定制化开发或者排查问题非常有帮助。你可以通过Eclipse的"import->Existing Maven Projects"功能导入hadop-...

    hadoop2.2 eclipse插件编译

    总的来说,编译Hadoop 2.2的Eclipse插件是一个涉及环境配置、源码编译、插件安装和测试的过程。熟悉这些步骤将有助于提升Hadoop开发者的工作效率,让他们在Eclipse中更加流畅地进行大数据应用的开发。

    编译hadoop eclipse插件文档

    【编译Hadoop Eclipse插件】是开发Hadoop应用程序的重要步骤,它允许开发者在Eclipse环境中直接编写、调试和管理Hadoop项目。本教程将详细解释如何编译和安装Hadoop Eclipse插件。 首先,确保你已经安装了**Java 8*...

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

    2. 下载Hadoop:从Apache官方网站获取Hadoop 2.7.5的源码或者二进制包,并解压到一个适当的目录,如 `/usr/local/hadoop`。 3. 配置Hadoop:编辑`etc/hadoop`目录下的配置文件,如`hadoop-env.sh`(设置JAVA_HOME)...

Global site tag (gtag.js) - Google Analytics