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源代码了。
分享到:
相关推荐
Hadoop源代码eclipse编译教程
Hadoop源代码eclipse编译指南 Hadoop源代码eclipse编译指南
Eclipse中编译运行Hadoop-0.20.1源码
Hadoop源代码eclipse编译指南.zip、Hadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zipHadoop源代码eclipse编译指南.zip
NULL 博文链接:https://x-goder.iteye.com/blog/1697235
Hadoop源码编译好的源码(eclipse可直接导入)直接eclipse->import->Existing Maven Projects即可无错误阅读Hadoop源码。亲给个好评吧~
Hadoop源代码eclipse编译教程[汇编].pdf
Hadoop实战(虚拟多台电脑)Hadoop源代码eclipse编译教程
该文档详细介绍了,在windows下,对hadoop源码进行编译的全过程。 内用截图,更直观!
hadoop 1.0版本中已经不再提供eclipse插件jar包,此hadoop-eclipse-plugin-1.0.0.jar包在eclipse 3.7上编译hadoop源码产生并在eclipse3.7版本上成功运行。
本文档详细讲解了Hadoop1.x系列的eclipse插件源码编译方法。本人在win8系统下编译出的插件都可以用
用src导成eclipse工程,修改了一些问题,还有一点小错误,但不影响源代码阅读。
这是用hadoop官方源码生成的hadoop用在windows环境下eclipse 的插件。更新了最新的jar包文件。与资源。
hadoop--plugin-2.8.1的eclipse 插件,已经编译完成,下载hadoop2x-eclipse-plugin源代码https://github.com/winghc/hadoop2x-eclipse-plugin
hadoop2x-eclipse-plugin-original未配置的源码包,可用于编译hadoop-eclipse-x.y.z.jar包。
《大数据技术丛书:...第7章讲解了如何利用Eclipse来编译Hadoop的源代码,以及如何对Hadoop应用进行测试和调试;第8~9章细致地讲解了MapReduce的开发方法和高级应用;第10~12章系统地讲解了Hive、HBase和Mahout。
基于Windows eclipse maven Hadoop 的WordCount源码。下载后需要自己编译jar包,详情请看解压后的README.md
为了找个合适的hadoop-eclipse-plugin找了半天,不是要积分版本不对,然后就想自己编译一个算了,编译的过程也是很繁琐,一开始可能是网络的原因还是GFW搞得,在github下载源码都下载不了,为了方便大家,不用像我...