在centOS7.7系统对hadoop源码进行编译

编译原因

1、hadoop是用java写的,但是某些操作不适合用java实现,所以用的是c/c++的动态库(本地库),所以需要根据不同的处理器架构,重新编译,他们以库的形式提供接口供上层调用。
2、hadoop官方提供的是32位的环境

编译环境

CentOS  7.7
hadoop版本:hadoop-2.9.2-src.tar.gz  源码
jdk版本:jdk-8u181-linux-x64.tar.gz
apache-ant-1.9.16-bin.tar.gz
apache-maven-3.8.5-bin.tar.gz
cmake-3.22.4.tar.gz
jdk-8u181-linux-x64.tar.gz
protobuf-2.5.0.tar.gz
snappy-1.1.4.tar.gz

编译步骤

jdk-------->maven---------->其他依赖工具

具体实现

安装:jdk-8u181-linux-x64.tar.gz

4.1.1、rpm -qa | grep jdk  或者  rpm -qa | grep java   查看已经安装的JDK  
4.1.2、rpm -e --nodeps  JDK
4.1.3、tar  -zxvf   jdk-8u181-linux-x64.tar.gz
4.1.4、vi  /etc/profile    配置环境
4.1.5、环境设置
    #Java Environment(推荐配置方式)
    export JAVA_HOME=/hadoops/jdk1.8.0_181
    export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib:${CLASSPATH}
    export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${PATH}
4.1.6、source /etc/profile   重启环境
4.1.7、java -version

安装:apache-maven-3.8.5-bin.tar.gz

4.2.1、rpm -qa | grep maven    查看已经安装的maven
4.2.2、rpm -e --nodeps maven
4.2.3、tar -zxvf  apache-maven-3.8.5-bin.tar.gz
4.2.4、vi  /etc/profile    配置环境
4.2.5、环境设置
    export MAVEN_HOME=/hadoops/apache-maven-3.8.5
    export MAVEN_OPTS="-Xms4096m -Xmx4096m"
    export PATH=${MAVEN_HOME}/bin:${PATH}
4.2.6、source /etc/profile   重启环境
4.2.7、配置阿里云仓库
    cd   apache-maven-3.8.5/conf/
     vi   settings.xml
增加
   <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
         <name>Nexusaliyun</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
4.2.8、mvn -v
其中默认本地仓库地址在:/root/.m2/repository/

其他依赖工具

gcc、make、snappy* 、 bzip2* 、 lzo* 、 zlib* 、 lz4*  、gzip* 、openssl* svn ncurses* autoconf automake libtool 、epel-release 、*zstd*
4.3.1、安装gcc   make
yum  -y   install   gcc*  make
4.3.2、安装压缩工具
yum  -y  install  snappy*   bzip2*  lzo*  zlib*   lz4*  gzip*
4.3.3、安装一些基本工具
yum  -y  install  openssl*  svn  ncurses*  autoconf  automake  libtool
4.3.4、安装扩展源
yum   -y   install   epel-release
4.3.5、安装zstd
yum   -y   install   *zstd*

安装:apache-ant-1.9.16-bin.tar.gz

4.4.1、rpm -qa | grep ant    查看已经安装的ant
4.4.2、rpm -e --nodeps ant
4.4.3、tar -zxvf  apache-ant-1.9.16-bin.tar.gz
4.4.4、vi  /etc/profile    配置环境
4.4.5、环境设置
    export ANT_HOME=/hadoops/apache-ant-1.9.16
    export PATH=${ANT_HOME}/bin:${PATH}
4.4.6、source /etc/profile   重启环境
4.4.7、ant -version   查版本

安装:protobuf-2.5.0.tar.gz

4.5.1、rpm -qa | grep protobuf    查看已经安装的protobuf
4.5.2、rpm -e --nodeps protobuf
4.5.3、tar  -zxvf   protobuf-2.5.0.tar.gz
4.5.4、cd /protobuf-2.5.0   进入目录
4.5.5./autogen.sh        编译1
4.5.6./configure          编译2
4.5.7、  make                  编译3
4.5.8、  make install         编译4
4.5.9、  protoc --version    查版本

安装:cmake-3.22.4.tar.gz

4.6.1、rpm -qa | grep cmake    查看已经安装的cmake
4.6.2、rpm -e --nodeps cmake
4.6.3、tar  -zxvf   cmake-3.22.4.tar.gz
4.6.4、cd  /cmake-3.22.4
4.6.5./bootstrap            编译1
4.6.6./configure            编译2
4.6.7、  make                    编译3
4.6.8、  make install           编译4
4.6.9、  cmake -version      查版本

安装:snappy-1.1.4.tar.gz

4.7.1、rpm -qa | grep snappy    查看已经安装的snappy
4.7.2、rpm -e --nodeps snappy
4.7.3、rm -rf /usr/local/lib/libsnappy*    卸载已经安装的
4.7.4、rm -rf /lib64/libsnappy*              卸载已经安装的
4.7.5、tar  -zxvf   snappy-1.1.4.tar.gz
4.7.6、  cd /snappy-1.1.4
4.7.7./configure          编译1
4.7.8、  make                  编译2
4.7.9、  make  install        编译3
4.7.10、ls -lh /usr/local/lib |grep snappy

hadoop-3.3.0版本编译还需要安装配置以下环境

必须要安装的依赖:cyrus-sasl-devel
yum方式安装:   yum -y  install cyrus-sasl-devel
rpm方式安装:
查并卸载:
rpm -qa | grep cyrus-sasl    查看已经安装的cyrus-sasl
rpm -e --nodeps cyrus-sasl......
安装:
rpm  -ivh  cyrus-sasl-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-lib-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-md5-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-plain-2.1.26-23.el7.x86_64.rpm
rpm  -ivh  cyrus-sasl-scram-2.1.26-23.el7.x86_64.rpm
2、必须要安装的:  nodejs
上传解压并配置环境
tar  -zxvf  node-v16.14.2-linux-x64.tar.gz
vi  /etc/profile    配置环境
#NODEJS
export NODEJS_HOME=/hadoops/node-v16.14.2-linux-x64
export PATH=${#NODEJS_HOME}/bin:${PATH}
source /etc/profile   重启环境
node --version   查版本
npm --version
3、必须要安装的:yarn
官方的Yarn存储库会得到持续维护,并提供最新版本。要启用Yarn存储库并导入存储库的GPG密钥
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee  /etc/yum.repos.d/yarn.repo
rpm --import  https://dl.yarnpkg.com/rpm/pubkey.gpg
添加存储库后,可以通过运行以下命令安装Yarn
yum -y  install yarn
yarn --version
4、设置yarn 解决版本过低的问题 忽略引擎检查,解决版本过低的问题
     yarn  config  set  ignore-engines  true

编译hadoop

tar -zxvf  hadoop-2.9.2-src.tar.gz
cd   hadoop-2.9.2/
mvn  clean  package  -DskipTests  -Pdist,native  -Dtar
mvn clean  package   -Pdist,native  -DskipTests  -Dtar  -e  -X       编译时输出错误日志

在这里插入图片描述
完成:成功的64位hadoop包在/opt/hadoop-3.1.3-src/hadoop-dist/target下在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空 | 永恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值