源码编译 - hadoop3.31

一、准备工作

1、下载hadoop源码

官网地址:Welcome to The Apache Software Foundation!

 

 清华大学镜像网站:Index of /apache

2、编译版本及要求

下载源码,上传至Linux,解压

tar -zxvf hadoop-3.3.1-src.tar.gz -C /usr/local

查看编译要求

less /usr/local/hadoop-3.3.1-src/BUILDING.txt 

 3、准备编译环境所需安装包

#jdk
    jdk-8u181-linux-x64.rpm

#maven 
    apache-maven-3.9.0-bin.tar.gz

#ant 一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,用于Java环境中的软件开发。
    apache-ant-1.9.9-bin.tar.bz2

#protobuf 谷歌研发出来的一个网络通信和数据存储的协议 (必备) 2.5版本
    protobuf-2.5.0.tar.gz

#findbugs 编译源码的过程中如果出现bug findbugs会自动帮你找到并定位到这个bug
    findbugs-3.0.1.tar.gz

#node
    node-v13.1.0-linux-x64.tar.gz

#cmake
    cmake-3.26.0-rc5.tar

#snappy
    snappy-1.1.3.tar.gz

4、安装环境配置环境变量

1)yum安装系统自带

yum -y install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool openssl-devel bzip2

2)jdk

rpm -ivh jdk-8u181-linux-x64.rpm

3)maven

解压到指定目录
    tar -zxvf apache-maven-3.9.0-bin.tar.gz -C /opt

修改权限
    chmod -R 765 apache-maven-3.9.0

创建软连接(绝对路径)
    ln -s /opt/apache-maven-3.9.0 /usr/local/maven

修改配置文件
    vi /usr/local/maven/conf/setting.xml

  a、本地仓库位置
     <localRepository>/data/maven/repository</localRepository>

  b、镜像仓库
        <mirrors>

            <!-- 阿里云仓库 -->

                <mirror>
                <id>alimaven</id>
                <mirrorOf>central</mirrorOf>
                <name>aliyun maven</name>                        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
                </mirror>

            <!-- 中央仓库1 -->

                <mirror>
                <id>repo1</id
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo1.maven.org/maven2/</url>
                </mirror>

            <!-- 中央仓库2 -->

                <mirror>
                <id>repo2</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo2.maven.org/maven2/</url>
                </mirror>

      </mirrors>


验证
mvn -v

 4)ant

解压到指定位置
tar -zxvf apache-ant-1.9.9-bin.tar.bz2 -C /opt

创建软连接
ln -s /opt/apache-ant-1.9.9 /usr/local/apache-ant

验证
ll /usr/loca/ |grep ‘ant‘

5)protobuf

解压压缩文件
tar -zxf protobuf-2.5.0.tar.gz -C /usr/local/

检查编译所用的环境,并生成用make命令编译使用的文件
cd /usr/local/protobuf-2.5.0
./configure

#编译protobuf
make

#安装protobuf
sudo make install

#查看版本信息并验证是否安装成功 
protoc --version

 

6)findbugs

解压
tar -xzf findbugs-3.0.1.tar.gz -C /usr/local

查看版本
/usr/local/findbugs-3.0.1/bin/findbugs -version

7)node

系统自带版本较低

解压
tar -zxvf node-v13.1.0-linux-x64.tar -C /opt

创建软连接
ln -s /opt/node-v13.1.0-linux-x64 /usr/local/node

8)cmake

yum 安装版本低,后期编译报错

卸载已安装的
yum erase cmake

解压
tar -zxvf cmake-3.13.5.tar.gz -C /opt

跳转至cmake目录:
cd /opt/cmake

编译
./configure

安装
make && make install


检验安装是否成功
cmake -version

 9)snappy

#解压压缩
tar -xzf snappy-1.1.3.tar.gz -C /usr/local/

#检查编译所用的环境,并生成用make命令编译使用的文件
cd /usr/local/snappy-1.1.3

./configure

#编译
make 

#安装
sudo make install

#查看安装情况
ls -lh /usr/local/lib |grep snappy

 10)配置环境变量

vi /etc/profile

#java
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

#node
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

#set Hadoop_compile
export MAVEN_HOME=/usr/local/maven
export FINDBUGS_HOME=/usr/local/findbugs
export PROTOBUF_HOME=/usr/local/protobuf
export ANT_HOME=/usr/local/apache-ant
export PATH=$PATH:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$ANT_HOME/bin
export MAVEN_OPTS="-Xmx2g -XX:MaxMetaspaceSize=512M -XX:ReservedCodeCacheSize=512m"

二、编译

进入hadoop目录
cd /usr/local/hadoop-3.3.1-src

开始编译
mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib

编译完成后位置
/usr/local/hadoop-3.3.1-src/hadoop-dist/target

由于项目较大,请耐心等待

编译成功

三、编译报错

1、hadoop-maven-plugins:3.3.1:cmake-compile

Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.3.1:cmake-compile (cmake-compile) on project hadoop-common: CMake failed with error code 1 -> [Help 1]

 原因:yum安装的cmake版本太低,需重新安装

2、frontend-maven-plugin:1.11.2:yarn (yarn install) 

Failed to execute goal 

com.github.eirslett:frontend-maven-plugin:1.11.2:yarn (yarn install) 

on project hadoop-yarn-applications-catalog-webapp: 

Failed to run task: 'yarn ' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value:1) -> [Help 1]

 原因:node版本与pom中版本不一致

确认编辑报错位置:hadoop-yarn-applications-catalog-webapp(cd /usr/local/hadoop-3.3.1-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp)

修改pom.xml文件中<nodeVersion>v8.11.3</nodeVersion>与系统版本一致

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东北偏西

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

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

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

打赏作者

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

抵扣说明:

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

余额充值