CentOS-6.7 编译 hadoop-2.6.5

本文详细介绍了在 CentOS-6.7 上编译 Hadoop-2.6.5 的步骤,包括阅读编译文档、安装必要的依赖如 gcc、maven、jdk、ant、findbugs、cmake、protobuf 和 Snappy,以及解决编译过程中可能遇到的内存问题。通过执行特定的 maven 命令进行编译,编译过程大约需要一小时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、阅读编译文档 

1、 准备一个 hadoop 源码包,我选择的 hadoop 版本是:hadoop-2.6.5-src.tar.gz,在 hadoop-2.6.5 的源码包的根目录下有一个文档叫做 BUILDING.txt,这其中说明了编译 hadoop 所需要的一些编译环境相关的东西。不同的 hadoop 版本的要求都不一样。对应 的版本参照 BUILDING.txt 

请仔细阅读: 

Requirements: 
 
* Unix System 
* JDK 1.6+ 
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs) 
* ProtocolBuffer 2.5.0 
* CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac
* Zlib devel (if compiling native code) 
* openssl devel ( if compiling native hadoop-pipes ) 
* Internet connection for first build (to fetch all Maven and Hadoop dependencies) 

2、 对应以上需求,我们准备好所要求版本的这些软件 

1、 准备一台 Unix 类型操作系统,在这里我们选用的是 CentOS-6.7,初次编译要求必须联网,切记 
以下这些东西都是需要的,详细安装在下面,这里只介绍我准备这些软件所选择的版本 
2、 安装 openssl-devel 
3、 安装 gcc 
4、 安装 gcc-c++ 
5、 JDK:jdk-7u80-linux-x64.tar.gz 
6、 Maven:apache-maven-3.3.3-bin.tar.gz 
7、 Ant:apache-ant-1.9.4-bin.tar.gz 
8、 FindBugs:findbugs-3.0.0.tar.gz 
9、 Cmake:cmake-2.8.12.2.tar.gz 
10、Protobuf:protobuf-2.5.0.tar.gz 
11、Snappy:snappy-1.1.1.tar.gz 

2、准备编译环境 

安装以下软件:

yum -y install svn

yum -y install autoconf automake libtool cmake

yum -y install ncurses-devel

yum -y install openssl-devel 

3、安装 gcc 

先使用命令检测一下看 gcc 是否已经安装过了

[root@compile_hadoop soft]# gcc -v 

gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

如果最后一行出现如上的 gcc 版本信息日志,表示已经安装成功过了。

不然使用命令安装:

yum install gcc

4、安装 gcc-c++ 

直接使用命令安装:yum install gcc-c++ 

5、安装 make

 

6、安装 maven(必须) 

7、安装 jdk(必须) 

8、安装 ant(重要) 

9、安装 findbugs(可选,最好装) 

10、安装 cmake(重要) 

11、安装 protobuf(重要) 

12、安装 Snappy 

13、编译 hadoop 

1、 解压 hadoop 源码包

tar -zxvf /root/soft/hadoop-2.6.5-src.tar.gz -C /root/apps/  

2、 在编译之前防止 java.lang.OutOfMemoryError: Java heap space   堆栈问题,在 centos 系统中

执行命令:export MAVEN_OPTS="-Xms256m -Xmx512m" 

3、 进入到源码包根目录下

cd /root/apps/hadoop-2.6.5-src 

4、 执行命令编译 

Create binary distribution with native code and with documentation: 

mvn package -Pdist,native,docs -DskipTests –Dtar 

如果中途编译失败,并且不要文档的话,请使用这个命令: 

mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy -Drequire.openssl 

PS:tar 和 dist 表示用 maven 项目管理工具对 hadoop 进行编译,编译好了之后会打成 tar.gz 包放到 hadoop-dist 目录下,native 和 docs 表示编译出来会编译出来本地库,并且把文档打 包到该.tar.gz 文件中,skipTests 表示忽略测试 

5、 静静等待编译……. 第一次编译预估一个小时左右。 

6、 编译成功了的话,最后的日志信息: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值