基础环境:Centos 7.6
编译环境软件安装目录
请确保已安装node以及yarn
安装编译相关的依赖
1
| yum install gcc gcc-c++ make autoconf automake libtool curl lzo-devel zlib-devel openssl openssl-devel ncurses-devel snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop libXtst zlib doxygen cyrus-sasl* saslwrapper-devel* -y
|
手动安装cmake
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #yum卸载已安装cmake 版本低 yum erase cmake
#下载cmake wget https://github.com/Kitware/CMake/releases/download/v3.28.4/cmake-3.28.4.tar.gz
#解压 tar zxvf cmake-3.28.4.tar.gz -C /export/server
#编译安装 cd /export/server/cmake-3.28.4
./configure
make && make install
#验证 [root@node4 ~]# cmake -version cmake version 3.28.4
#如果没有正确显示版本 请断开SSH连接 重写登录
|
手动安装snappy-1.1.3
1 2 3 4 5 6 7 8 9 10 11 12
| #卸载已经安装的 rm -rf /usr/local/lib/libsnappy* rm -rf /lib64/libsnappy*
# 下载 wget https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.3.tar.gz/7358c82f133dc77798e4c2062a749b73/snappy-1.1.3.tar.gz
#上传解压 tar -zxvf snappy-1.1.3.tar.gz -C /export/server
#编译安装 cd snappy-1.1.3/ && ./configure && make && make install
|
安装配置JDK 1.8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #使用yum下载(默认安装在/usr/lib/jvm下) yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
#配置环境变量 vim /etc/profile
#底部输入(根据自己的jdk路径来,这里是默认的jdk路径) export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
#使配置生效 source /etc/profile
#验证是否安装成功 java -version
openjdk version "1.8.0_402" OpenJDK Runtime Environment (build 1.8.0_402-b06) OpenJDK 64-Bit Server VM (build 25.402-b06, mixed mode)
|
安装配置maven
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #如果出现证书过期 yum install -y ca-certificates
#下载安装包 wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.zip
#解压安装包 tar zxvf apache-maven-3.9.4-bin.tar.gz -C /export/server/
#配置环境变量 vim /etc/profile
#底部输入 export M2_HOME=/export/server/apache-maven-3.9.4 export PATH=${M2_HOME}/bin:$PATH
#使配置生效 source /etc/profile
#验证是否安装成功 [root@node4 ~]# mvn -v Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
#添加maven 阿里云仓库地址 加快国内编译速度 vim /export/server/apache-maven-3.9.4/conf/settings.xml
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
|
安装ProtocolBuffer 3.7.1
1 2 3 4 5 6 7 8 9 10 11 12
| #安装protobuf wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-cpp-3.7.1.tar.gz
#解压 tar zxvf protobuf-cpp-3.7.1.tar.gz -C /export/server/
#编译安装 cd protobuf-3.7.1/ && ./autogen.sh && ./configure && make && make install
#验证是否安装成功 [root@node4 protobuf-3.7.1]# protoc --version libprotoc 3.7.1
|
编译hadoop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #创建hadoop文件夹 mkdir /export/server/hadoop cd /opt/hadoop/
#下载安装 wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4-src.tar.gz
#上传解压源码包 tar zxvf hadoop-3.3.4-src.tar.gz
#编译 export MAVEN_OPTS="-Xms3072m -Xmx3072m" && mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib -e
#参数说明: Pdist,native :把重新编译生成的hadoop动态库; DskipTests :跳过测试 Dtar :最后把文件以tar打包 Dbundle.snappy :添加snappy压缩支持【默认官网下载的是不支持的】 Dsnappy.lib=/usr/local/lib :指snappy在编译机器上安装后的库路径
|
编译之后的安装包路径
1
| /export/server/hadoop/hadoop-3.3.0-src/hadoop-dist/target
|
写在最后
Hadoop编译过程耗时较长,且中间不一定会出现什么毛病,我也是在编译过程中遇到了各种各样的报错,所以下面附上一些编译过程中可能遇到的报错的解决方法:(ps:如果碰到某个bug怎么也无法解决,建议重新下载进行编译安装)