CDH版本hadoop的源码编译

本文详细介绍了在CentOS 6.9上编译CDH版本Hadoop源码的过程,包括准备干净的Linux系统,安装JDK 1.7,配置Maven 3.0.5,安装Findbugs,处理依赖包如cmake、openssl和zlib,编译protobuf和snappy,以及下载和编译CDH Hadoop 5.14.0-src源码包。注意内存和网速要求,建议预先准备本地Maven仓库。

在安装CDH版本的hadoop的时候, 我们下载下来的CDH的hadoop安装包中, 并没有native包, 所以我们在使用本地库 (本地库可以用来做压缩, 以及支持C程序等等) 的时候就会出问题, 好了废话不多说, 接下来看如何编译.

首先我们打开src目录下的BUILDING.txt文件
在这里插入图片描述

能够看到, 在官方说明中已经写明了编译所需要的准备工作

准备工作:

  • linux系统 (准备一台干净的linux系统, 这里使用的的是centOS 6.9)
  • jdk1.7 (这里使用jdk1.7, 使用1.8会出问题)
  • maven (这里使用的是maven3.0.5, 一样不要使用高版本)
  • findbugs
  • protocolbuf
  • 安装依赖包 (cmake, zlib, openssl)
  • 安装snappy
  • CDH hadoop的源码包

1. 准备一台干净的linux系统

这里使用的的是centOS 6.9 64位

保证可以联网, 关闭防火墙, 关闭selinux

service iptables stop    关闭防火墙
chkconfig iptables off   关闭防火墙开机自启动

关闭selinux

vim /etc/selinux/config

修改SELINUX=disabled
在这里插入图片描述

2. 安装jdk1.7

卸载系统自带的jdk

rpm -qa | grep java

rpm -e --nodeps 要卸载的

将我们的jdk1.7的安装包上传并解压, 然后修改/etc/profile, 添加java环境变量

export JAVA_HOME=/export/servers/jdk1.7.0_71
export PATH=:$JAVA_HOME/bin:$PATH

source /etc/profile 让配置生效

3. 安装maven

这里使用maven3.x以上的版本应该都可以, 不建议使用太高的版本, 这里使用3.0.5的版本.

上传安装包, 解压, 配置环境变量

vim /etc/profile

export MAVEN_HOME=/export/servers/apache-maven-3.0.5
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
export PATH=:$MAVEN_HOME/bin:$PATH

source /etc/profile 让配置生效

4. 安装findbugs

下载findbugs

wget --no-check-certificate https://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/findbugs-1.3.9.tar.gz/download -O findbugs-1.3.9.tar.gz

解压缩, 然后配置环境变量

vim /etc/profile

export FINDBUGS_HOME=/export/servers/findbugs-1.3.9
export PATH=:$FINDBUGS_HOME/bin:$PATH

source /etc/profile 让配置生效
在这里插入图片描述

5. 安装依赖包 (cmake, openssl, zlib 等)

yum install autoconf automake libtool cmake
yum install ncurses-devel
yum install openssl-devel
yum install lzo-devel zlib-devel gcc gcc-c++

bzip2压缩需要的依赖包

yum install -y bzip2-devel

6. 安装protobuf

protobuf下载百度网盘地址 https://pan.baidu.com/s/1pJlZubT

下载后, 解压缩

然后编译

cd /export/servers/protobuf-2.5.0
./configure
make && make install

7. 安装snappy

snappy下载地址: http://code.google.com/p/snappy/

下载后, 解压缩

然后编译

cd /export/servers/snappy-1.1.1/
./configure
make && make install

8. 上传CDH hadoop的源码包并编译

下载CDH hadoop 5.14.0-src源码包, 解压缩

http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.14.0-src.tar.gz

以支持snappy压缩的方式编译:

cd /export/servers/hadoop-2.6.0-cdh5.14.0
mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X

在这里插入图片描述

最后出现BUILD SUCCESS就是编译成功了, 那编译完成的文件在哪里呢?

cd /export/servers/hadoop-2.6.0-cdh5.14.0/hadoop-dist/target
在这里插入图片描述

检查native

cd hadoop-2.6.0-cdh5.14.0
bin/hadoop checknative

在这里插入图片描述

完成 !!!

最后, 网速慢的同学就不要编译了, 会慢死的.

还有, 内存小的同学就不要编译了, 会慢死的.

因为途中要下载大量大量大量的maven依赖包, 还有Tomcat等, 网速慢的话是真的要等好久呦~

如果真的要安装的话, 可以先整理一套本地maven仓库, 上传上去, 修改maven的配置文件conf/setting.xml 指定一下本地仓库. 如此在编译过程中就不用下载大量的maven依赖了.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值