hadoop2.x源码编译环境

1.yum安装一些必要的依赖

yum -y install xz ant zlib zlib-devel cyrus-sasl-devel openssl-devel fuse snappy snappy-devel libzstd libzstd-devel bzip2 bzip2-devel yasm yasm-devel java-1.8.0

2. 安装maven:

2.1 下载maven包:https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

上传到机器上,新建目录

 mkdir -p /opt/software

将tar包放到此目录下,解压:

tar zxvf apache-maven-3.3.9-bin.tar.gz

bin目录下执行验证:

./mvn -v

3. 安装gcc7.3.1:

3.1

yum -y install gcc libtool gcc-c++

3.2 下载包
gcc-7.3.0.tar.xz
http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.xz
gmp-6.1.0.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
mpc-1.0.3.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
mpfr-3.1.4.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2

3.3 将所有包上传到机器上,/opt/software目录下解压:

xz -d gcc-7.3.0.tar.xz
tar -xvf gcc-7.3.0.tar

bzip2 -d gmp-6.1.0.tar.bz2 
bzip2 -d mpfr-3.1.4.tar.bz2

将依赖包拷到gcc目录下解压:

cp gmp-6.1.0.tar mpc-1.0.3.tar.gz mpfr-3.1.4.tar gcc-7.3.0/
tar zxvf mpc-1.0.3.tar.gz
tar -xvf mpfr-3.1.4.tar
tar -xvf gmp-6.1.0.tar

配置软连接

ln -s gmp-6.1.0 gmp
ln -s mpfr-3.1.4 mpfr
ln -s mpc-1.0.3 mpc

3.4 编译安装

./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install

3.5 验证

gcc -v

3.6 需要替换老版本的动态库

检查动态库:strings /usr/lib64/libstdc++.so.6 | grep GLIBC

查找编译gcc时生成的最新动态库:find / -name "libstdc++.so*"

将上面的最新动态库libstdc++.so.6.0.21复制到/usr/lib64目录下:
cp /opt/software/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64

重建默认库的软连接:
切换工作目录至/usr/lib64:cd /usr/lib64
删除旧的软连接:rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:ln -s libstdc++.so.6.0.24 libstdc++.so.6

重新检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC

4. 安装cmake:

4.1 获取包

wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz

4.2 解压、安装、校验

tar zxvf cmake-3.3.2.tar.gz

cd cmake-3.3.2

./bootstrap 

gmake

make install

cmake --version

5.安装protobuf 2.5.0 (只能是这个版本)

5.1 下载包 protobuf-2.5.0.tar.gz
https://github.com/protocolbuffers/protobuf/releases/tag/v2.5.0

5.2 解压、安装

tar zxvf protobuf-2.5.0.tar.gz 

cd protobuf-2.5.0

./configure

make

make check

make install

6. 打包命令:

mvn clean package -Pdist,native -DskipTests -Drequire.snappy -Dsnappy.lib=/usr/lib64 -Dbundle.snappy -Drequire.isal -Disal.lib=/usr/lib64 -Dbundle.isal -Drequire.zstd -Dzstd.lib=/usr/lib64 -Dbundle.zstd -Drequire.openssl -Dopenssl.lib=/usr/lib64 -Dbundle.openssl -Drequire.bzip2 -Dmaven.javadoc.skip=true -Dtar

注意:【内存不够:export MAVEN_OPTS=-Xmx512m】

你可能感兴趣的:(hadoop2.x源码编译环境)