`
jbm3072
  • 浏览: 211219 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

eclipse下编译hadoop源代码

阅读更多

 

hadoop是一个分布式存储和分布式计算的框架。在日常使用hadoop时,我们会发现hadoop不能完全满足我们的需要,我们可能需要修改hadoop的源代码并重新编译、打包。

下面将详细描述如何从svn上导入并对hadoop进行eclipse下编译。

 

因项目使用的hadoop版本是0.20.2,所以我们基于hadoop-0.20.2来进行二次开发。

 

(1)首先从svn上签出源代码,svn地址:

 

http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.20.2/

 

 

(2)在下载的过程中,准备开发和编译环境。windows下至少需要安装如下软件:

JDK 6--需要设置PATH环境变量
ant
  --下载解压后,需要将ant的bin目录添加到PATH的环境变量上
cygwin
   --安装cygwin参考http://ebiquity.umbc.edu/Tutorials/Hadoop/03%20-%20Prerequistes.html 进行安装和配置。在选择cygwin的安装包尽量多选,以方便日后的开发
 

 

 

 

(3)从svn签出后,使用命令行进入hadoop下载的HOME目录,执行命令:

 

$ ant

 

     此时,ant开始下载依赖和编译文件。 我在编译的时候编译错误。经查,是$hadoop_home/src/saveVersion.sh生成的package-info.java有问题,导致无法编译过去。将saveVersion.sh修改一下:

 

unset LANG
unset LC_CTYPE
version=$1
user=`whoami` #此处修改成固定值,如jbm3072
date=`date`
if [ -d .git ]; then
  revision=`git log -1 --pretty=format:"%H"`
  hostname=`hostname`
  branch=`git branch | sed -n -e 's/^* //p'`
  url="git://$hostname/$cwd on branch $branch"
else
  revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
  url=`svn info | sed -n -e 's/URL: \(.*\)/\1/p'`
fi
mkdir -p build/src/org/apache/hadoop
cat << EOF | \
  sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
      -e "s|URL|$url|" -e "s/REV/$revision/" \
      > build/src/org/apache/hadoop/package-info.java
/*
 * Generated by src/saveVersion.sh
 */
@HadoopVersionAnnotation(version="VERSION", revision="REV", 
                         user="USER", date="DATE", url="URL")
package org.apache.hadoop;
EOF
 

    修改后,应该就可以编译通过了。

 

(4)  将eclipse-files copy到工程目录下

    执行命令:

    ant eclipse-files 

    就可以将eclipse-files copy到工程目录下。

(5)导入工程

 

    打开eclipse,在File中选择Import,然后选择General->Exsiting Projects into Workspace, 点击next,然后选择Hadoop源代码目录,此时就可以识别hadoop为eclipse工程了,点击Finish,稍过片刻,一个没有错误的eclipse 工程就OK了。

 

   (6)现在你就可以基于eclipse来进行修改hadoop源代码了。

 

 

 

 

 

 

1
4
分享到:
评论

相关推荐

    通过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在大数据处理和分析中。

    CentOS7下安装eclipse并编译hadoop2.x

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

    Eclipse中编译运行Hadoop-0.20.1源码

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

    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-&gt;Existing Maven Projects"功能导入hadop-...

    hadoop2.2 eclipse插件编译

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

    编译hadoop eclipse插件文档

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

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

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

Global site tag (gtag.js) - Google Analytics