说明: Hadoop目前的版本系列分两条主线,0.20.2及目前的1.X.X属于稳定版,主要bug修复和性能提升方面;而0.23.X和2.X.X属于alpha版本,在系统架构上有较大变化,即所谓的第二代HDFS HDFS Federation和第二代MapReduce Yarn,具体见官网介绍。这篇文章主要介绍Hadoop源码直接编译和eclipse中编译,由于我使用的Hadoop 0.20.2,早段时间升级到1.0.4,考虑到老升级版本也不大方便,就试着自己编译。编译环境:32位ubuntu11.04,eclipse3.3。主要如下:
一、相关知识和需求软件
hadoop0.20.2和1.0.4都是采用ant编译,第二代采用maven编译。
下载ant软件,版本是1.8.3;svn软件和eclipse中svn插件,ubuntu中自动安装的sudo apt-get install subversion;ubuntu中编译tar的话还需要forrest软件,只能用版本0.8的,我用了最新版本出了错误,后面会解释
二、eclipse编译
1、选择某一目录,即源码存放的位置,签出源码0.20.2
如/home/pigzoo/software目录下 svn co http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.20.2/ hadoop-0.20.2
2、查看源码根目录中的build.xml,这个文件就是整个软件的编译的步骤和依赖,你可以根据自己的具体情况来选择编译的部分,比如其中默认的就是compile,只编译核心部分,其他的javadoc,插件等都不会编译,先暂时编译核心部分
在源码根目录下执行命令: ant (相当于ant complie)编译完后可以在build目录看到core等jar文件
3、在源码跟木下执行命令 ant eclipse-files,即可产生源码eclipse工程。
4、在eclipse中导入import上一步中源码,选择源码目录即是一个完整的eclipse工程,是不是到这一步就结束了?也许是,也许不是,我的一直存在个问题就是eclipse找不到我装的ant中lib的ant.jar,即unbound classpath variable:'ANT_HOME/lib/ant.jar,这个需要设置下eclipse的环境变量,在window菜单——>preference,选择java——>build path->classpath variable中添加ANT_HOME的目录。
5、对于1.0.4的版本步骤和以上基本一致,要注意的地方就是3步骤中的ant eclipse-files命令变成了ant eclipse,即可生成1.0.4版本对应的eclipse工程文件。
三、ubuntu中发行hadoop版本
1、签出源码
2、在源码根目录中,ant tar时,从build.xml中知道它依赖compile, jar, javadoc, docs, api-report, jar-test,而编译javadoc时需要forrest软件,执行下载好forrest软件,配置好系统环境
3、安装forrest软件还会存在问题,编译一直不通过,存在错误,查看错误还是javadoc这部分,最后查看网上文档发现是forrest0.8需要jdk1.5,而发行整个版本需要jdk1.6,这个矛盾困扰了很久。当时试着用forrest0.9,但是编译还是错误。最后查看网上文档发现有个较好的解决办法,链接:http://trac.nchc.org.tw/cloud/wiki/waue/2009/0818
4、javadoc的编译需要forrest0.8和jdk1.5,而编译core则需要jdk1.6,链接中提供的方法能够解决存在的问题。在下载好jdk1.5,配置系统jdk为1.5版本,运行这个命令,具体啥意思我也不是很清楚,如有高人看到说下吧,个人认为是forrest编译时所用的环境变量配置下,在最后的指定jdk1.5的目录。
5、编译tar,发布版本,命令如下截图。
6、即可在build目录下看到自己编译的hadoop-***.tar.gz,这就可以部署到自己的hadoop集群。
7、可能在编译过程中还会存在其他问题,这个主要根据build.xml这个编译文件来决定具体的情况,理清它的思路。对于我这菜鸟要好好学习下编译知识。
参考:
1、http://trac.nchc.org.tw/cloud/wiki/waue/2009/0818
2、http://hadoop.apache.org/releases.html
相关推荐
在Hadoop源码编译过程中,它用于提升代码质量和稳定性。解压`findbugs-2.0.3.tar.gz`,安装完成后将其路径添加至PATH环境变量,以便在构建Hadoop时运行FindBugs检查。 4. **Hadoop源码包** `hadoop-2.5.0-src.tar....
通过以上步骤,我们可以看到,"Hadoop CDH 源码编译所需软件"这个主题涵盖了大数据处理的关键组件和最佳实践,如高效的压缩算法和静态代码分析工具。这些工具和技术的使用对于优化Hadoop CDH的性能、稳定性和安全性...
标题中的“Hadoop源码编译需要工具”指的是在本地环境中构建Hadoop源代码时所需的必备组件。Hadoop是一个开源的分布式计算框架,主要用于处理和存储海量数据。为了从源代码编译Hadoop,我们需要一些特定的开发工具和...
接下来,我们按照以下步骤进行Hadoop源码编译和安装: 1. **获取源码**:使用Git命令克隆Hadoop的源码仓库。例如,你可以运行`git clone https://github.com/apache/hadoop.git`来获取最新的源码。 2. **配置环境*...
[root@hadoop101 ~]# tar -zxf hadoop-2.7.2-src.tar.gz [root@hadoop101 ~]# cd hadoop-2.7.2-src/ [root@hadoop101 hadoop-2.7.2-src]# mvn package -DskipTests 5.4 常见问题及解决方案 在 Hadoop 源码编译过程...
编译成功后,你需要替换原有的Native目录,然后通过运行Hadoop的某些命令来验证编译结果,如果没有出现警告或错误,那么恭喜你,Hadoop源码编译已完成。 整个过程可能会遇到各种问题,如依赖冲突、权限问题或者网络...
hadoop源码编译所需要的maven仓库,省去编译时下载时间。
### Hadoop源码编译支持Snappy压缩教程 #### 一、Snappy压缩技术简介 在大数据处理领域,数据压缩技术对于提高存储效率和降低I/O开销具有重要作用。Snappy是一种高效的压缩与解压缩算法,它在压缩比与速度之间取得...
### Hadoop源码编译与Snappy压缩配置详解 #### 一、背景介绍 Hadoop是一款开源的大数据处理框架,其核心组件包括HDFS(分布式文件系统)和MapReduce(分布式计算模型)。在某些情况下,当用户直接从官网下载Hadoop...
在深入探讨Hadoop源码编译的过程中,我们首先需要了解Hadoop是什么以及它的重要性。Hadoop是一个开源的分布式计算框架,由Apache软件基金会维护,主要由HDFS(Hadoop Distributed File System)和MapReduce两大部分...
接下来,按照以下步骤进行源码编译: 1. **获取源码**:打开终端,使用`git clone`命令从Hadoop的官方仓库克隆源码: ``` git clone https://github.com/apache/hadoop.git ``` 2. **进入源码目录**: ``` cd...
2. **执行编译命令**:打开命令提示符窗口,进入Hadoop源码目录,运行`mvn clean package -DskipTests -Dmaven.javadoc.skip=true -Pdist,native -Dtar`命令来开始编译过程。该命令将跳过测试、Javadoc生成,并编译...
在本篇【Hadoop篇06】中,我们将探讨如何编译Hadoop源码,这是一个对深入了解Hadoop内部机制至关重要的过程。以下是编译Hadoop源码所需的关键步骤和相关知识点: 1. **准备工作** - **CentOS联网**:确保Linux系统...
本资源提供了已经编译好的Hadoop 2.7.3版本的源码,适用于Eclipse环境,方便开发者进行深入学习和二次开发。 首先,让我们来了解一下HDFS。HDFS是Hadoop的核心组件之一,是一个分布式文件系统,设计目标是能够在...
官网荡下的源码,自己亲手编译的hadoop2.x 64位,给大家分享下 文件太大放的是百度网盘链接,目前有hadoop2.3.0,后面的版本我会陆续更新。
在Windows 10环境下编译好的Hadoop源码对于开发者来说是一份宝贵的资源,因为它通常已经解决了在Windows系统上运行Hadoop时可能遇到的兼容性和配置问题。 标题中的"win10系统编译好的hadoop源码"指的是专门为...
Hadoop源码编译和安装的过程也包含了许多知识点。首先,你需要一个Java开发环境,因为Hadoop是用Java编写的。然后,通过Maven或Ant等构建工具来编译源码。在源码包hadoop-2.8.5-src中,包含了一系列的配置文件和源...
### Hadoop源码在Eclipse中的编译指南 #### 一、引言 随着大数据技术的发展,Hadoop作为处理大规模数据集的一种分布式计算框架,其重要性不言而喻。对于开发者而言,深入理解Hadoop的工作原理及其实现机制是非常有...
所以自己就用cdh的hadoop源码编译了一遍,踩了很多坑。最终还是解决了,能在windows中调试mapreduce了。 ps:csdn上看到同样的资源 竟然要10分,下不起 下不起。只能自己做了,5分服务大众。。。
当你需要对Hadoop源码进行编译时,Maven是必不可少的工具,因为它可以帮助我们自动化构建过程,管理项目的依赖关系,以及执行各种构建生命周期阶段。 编译Hadoop源码的过程涉及到以下几个关键知识点: 1. **Maven...