编译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还是用了半天下载