CentOS 7.x 编译hadoop 3.1.2

编译hadoop 3.1.2


前提:假设CentOS已经安装完成,并且以下操作全部使用root账户

第一步 配置环境

安装并配置好JDK、MAVEN、ANT

注意,如果是自己下载好的JDK gz包,然后自己配置的话,需要先yum remove java*删除所有系统自带的JDK

为了在最后一步编译Hadoop时能够快点,请自己在Maven配置文件中配置好国内的镜像源

命令参考(如果用yum,而不是自己配置的话):

yum update
yum install java-1.8.0* maven ant

 

使用yum包管理器安装glibc-headers 、 g++(gcc-c++)、make 、cmake、automake、autoconf、libtool、curl、unzip、subversion-devel、openssl-devel

命令参考(中途按y并回车确认):

yum update
yum install glibc-headers gcc-c++ make cmake automake autoconf libtool curl unzip subversion-devel openssl-devel

 

编译、安装和配置protobuf2.5.0(或者直接yum install protobuf protobuf-c*安装),至于为什么不是最新版本,下图就是原因。

如果不想自己编译的话,也可以使用yum进行安装,刚好是2.5.0的版本

在protobuf源码包中执行下述命令,[path]是指定安装路径(yum安装跳过此步骤)

./autogen.sh 
./configure --prefix=[path]
make
make check
make install
ldconfig

 

然后将编译好的Protobuf配置到环境变量中,例如 /etc/profile(yum安装跳过此步骤)

#LD_LIBRARY_PATH 
export LD_LIBRARY_PATH=[path]/protobuf-2.5.0 
export PATH=$PATH:$LD_LIBRARY_PATH

如果不重启的话,别忘了使用 source 命令更新系统环境变量,例如 source /etc/profile(yum安装跳过此步骤)

 

编译和配置CMake,卸载掉CentOS自带的低版本Cmake

使用自带的CMake编译的后果……

Github上下载太慢,而且网络中断后需要重新下载,因此选择在cmark.org上进行下载

wget https://cmake.org/files/v3.15/cmake-3.15.0.tar.gz
tar -zxvf cmake-3.15.0.tar.gz
cd cmake-3.15.0
./configure --prefix=[path]
make
make instal

然后配置系统环境变量 /etc/profile之类的文件,别忘了source刷新系统环境变量

 

第二步,编译Hadoop源码

在hadoop源码目录下执行:

mvn package -Pdist,native -DskipTests -Dtar -X

之后没有错误就不用管了,即使配置了镜像源,maven还是用了半天下载

顺便说下,如果是 sun.misc.Unsafe is internal proprietary API and may be removed in a future release导致的错误,只能mvn clean之后再次编译,我编译了7、8次终于成功了,我的老天啊!我还查了了各种各样的资料,正准备在尝试一次的时候,突然全部成功!!!猝不及防……

造成这个警告当成Error的原因不明,但是似乎偶尔不会出现把警告当成error的事情。

编译好的Hadoop在hadoop-src/hadoop-dist/target

编译出的hadoop是确实可用的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值