CentOS7下Hadoop-3.2.1源码编译

CentOS7下Hadoop-3.2.1源码编译

为了避免踩坑建议先查看Hadoop源码包中的BUILDING.txt文本里面说明了各个系统平台下的环境需求准备本次是在CentOS7下所以只展示相关环境

  • Unix System
    * JDK 1.8 (必须)
    * Maven 3.3 or later (必须)
    * ProtocolBuffer 2.5.0 (必须且必须是这个版本)
    * CMake 3.1 or newer (if compiling native code) (必须,yum安装或者下载tar包解压都行,后面有具体操作)
    * Zlib devel (if compiling native code) (本人在实际操作的时候是必须要装的,但是在低版本的Hadoop貌似是不需要)
    * Cyrus SASL devel (if compiling native code)
    * One of the compilers that support thread_local storage: GCC 4.8.1 or later, Visual Studio,
    Clang (community version), Clang (version for iOS 9 and later) (if compiling native code)
    * openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance)(需要,直接使用yum源安装即可)
    * Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs)(以下都不需要管)
    * Doxygen ( if compiling libhdfspp and generating the documents )
    * Internet connection for first build (to fetch all Maven and Hadoop dependencies)
    * python (for releasedocs)
    * bats (for shell code testing)
    * Node.js / bower / Ember-cli (for YARN UI v2 building)

1、前期必须环境准备

2、安装环境

  1. jdk安装

解压tar包到指定目录
tar -zxvf jdk-8u261-linux-i586.tar.gz -C /usr/local/software
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/software/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
立即生效
source /etc/profile
输入 java -version javac java
三个命令验证是否安装成功

  1. maven安装

解压tar包到指定目录
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/software
配置环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/software/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
立即生效
source /etc/profile
输入mvn -v 验证是否安装成功

  1. ant安装

解压tar包到指定目录
tar -zxvf apache-ant-1.9.15-bin.tar.gz -C /usr/local/software
配置环境变量
vim /etc/profile
export ANT_HOME=/usr/local/software/apache-ant-1.9.15
export PATH=$ANT_HOME/bin:$PATH
立即生效
source /etc/profile
输入ant -version 验证是否安装成功

  1. cmake安装

安装cmake之前需要先安装cmake的依赖环境make、glibc-headers、g++、openssl-devel
yum install make
yum install glibc-headers
yum install g++
yum install openssl-devel
解压tar包到指定目录
tar -zxvf cmake-3.1.0.tar.gz -C /usr/local/software
然后进入cmake目录执行一下命令将cmake进行编译
./bootstrap
make && make install
然后还是最简单的配置环境变量
vim /etc/profile
export CMAKE_HOME=/usr/local/software/cmake-3.1.0
export PATH=$CMAKE_HOME/bin:$PATH
立即生效
source /etc/profile
输入cmake -version验证是否成功
这里要说说明一下cmake直接使用yum源安装的话版本可能不符合要求,直接更新也可以只要达到开头说的Hadoop所要求的版本就行,如果是或者2.x版本的话就可以直接使用yum源安装的cmake

  1. zlib安装

解压tar包到指定目录
tar -zxvf v1.2.11.tar.gz -C /usr/local/software
进入zlib目录进行编译
- -prefix 指定安装位置
./configure --prefix=/usr/local/software/zlib
make
make install
配置环境变量,将指定的安装目录配置进去
export ZLIB_HOME=/usr/local/software/zlib
export PATH=$ZLIB_HOME:$PATH
立即生效
source /etc/profile
zlib这个东西在Hadoop-3.1.x之前的版本进行源码编译是不需要安装的,但是本人在Hadoop3.2.x版本搞了一天最后安装了个zlib就成了,有知道的小伙伴麻烦给讲解一下呗

  1. protobuf安装

解压tar包到指定目录
tar -zxvf protobuf-2.5.0.tar.gz -C /usr/local/software/
进入protobuf目录执行一下命令
./configure
make
make check
make install
ldconfig
全部执行完并且没有错误之后配置环境变量
vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/software/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
输入 protoc --version 验证是否安装成功

最后再安装一个ncurses-devel库
yum install ncurses-devel

至此全部环境准备完毕,上述所有验证都能看到相应环境信息就算成功,如果出现找不到命令什么的环境变量要好好检查一下

装好的环境的profile文件大概是这个样子

在这里插入图片描述

3、开始编译(这个过程会下载很多maven资源一定要保证网络通畅,如果网络很慢建议将maven的远程仓库换成阿里的镜像仓库)

<!-- 阿里的maven镜像仓库 -->
<mirror>
	<id>nexus-aliyun</id>
	<mirrorOf>central</mirrorOf>
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

将Hadoop的源码包解压到本地指定目录
tar -zxvf hadoop-3.2.1-src.tar.gz -C /usr/local/software/
进入到Hadoop源码包
执行mvn package -Pdist,native -DskipTests -Dtar即可,会等较长时间
经过漫长的等待看到一堆SUCCESS以及BUILD SUCCESS并且没有报错就是成功了,然后就可以开始快乐的Hadoop之旅了
在这里插入图片描述
最后编译成功后的Hadoop包在源码包的hadoop-3.2.1-src/hadoop-dist/target目录下在这里插入图片描述

最后说明本文章大部分内容是根据实际操作纯手敲,难免会有疏忽写错的地方,但是整个过程是本人亲自实际操作过的,我本地实践这套流程是可以成功的,但是如果有失败的小伙伴,或者其他的解决方法,欢迎进行讨论,纯纯小白一只,欢迎大佬指出错误!!!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值