hadoop源代码下载导入eclipse

21 篇文章 0 订阅

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

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

 

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

 

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

 

Url代码   收藏代码
  1. http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.20.2/  

 

 

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

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

 

 

 

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

 

Java代码   收藏代码
  1. $ ant  

 

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

 

Java代码   收藏代码
  1. unset LANG  
  2. unset LC_CTYPE  
  3. version=$1  
  4. user=`whoami` #此处修改成固定值,如jbm3072  
  5. date=`date`  
  6. if [ -d .git ]; then  
  7.   revision=`git log -1 --pretty=format:"%H"`  
  8.   hostname=`hostname`  
  9.   branch=`git branch | sed -n -e 's/^* //p'`  
  10.   url="git://$hostname/$cwd on branch $branch"  
  11. else  
  12.   revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`  
  13.   url=`svn info | sed -n -e 's/URL: \(.*\)/\1/p'`  
  14. fi  
  15. mkdir -p build/src/org/apache/hadoop  
  16. cat << EOF | \  
  17.   sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \  
  18.       -e "s|URL|$url|" -e "s/REV/$revision/" \  
  19.       > build/src/org/apache/hadoop/package-info.java  
  20. /* 
  21.  * Generated by src/saveVersion.sh 
  22.  */  
  23. @HadoopVersionAnnotation(version="VERSION", revision="REV",   
  24.                          user="USER", date="DATE", url="URL")  
  25. package org.apache.hadoop;  
  26. EOF  
 

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

 

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

    执行命令:

Java代码   收藏代码
  1. 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源代码了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值