前提条件 

首先确保Centos能够连接到外网:全新的系统在默认不改配置条件下就可以联网,如果修改则按照下面的方法修改


首先需要下载几个软件包

hadoop源码编译_apache


官网分别是:

https://ant.apache.org/bindownload.cgi

http://maven.apache.org/download.cgi

https://hadoop.apache.org/releases.html  这个是下载hadoop源码包

https://www.oracle.com/technetwork/java/javase/downloads/index.html

https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1


下载好后上传文件到/opt/software

将hadoop上传到/opt目录下

将ant、maven、jdk、protobuf解压缩到 /opt/module

hadoop源码解压缩到/opt下

用tar -xzvf  压缩包  -C 解压缩后的路径

tar -xzvf apache-ant-1.10.7-bin.tar.gz -C /opt/module

tar -xzvf apache-maven-3.6.2-bin.tar.gz -C /opt/module

tar -xzvf jdk-8u211-linux-x64.tar.gz -C /opt/module

tar -xzvf protobuf-2.5.0.tar.gz -C /opt/module      注意使用这个版本的,找到上面的github链接往前找,后面实验报错提示要使用2.5.0版本的

tar -xzvf hadoop-2.7.7-src.tar.gz -C /opt/

解压缩maven后注意一下!修改maven的镜像仓库为阿里云,路径在 解压缩后的maven根目录/conf/settings.xml

添加到 <mirrors></mirrors>标签内

<!-- 国内中央仓库的配置-阿里云中央仓库 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>


然后配置环境变量


以root身份执行下面的代码



vim /etc/profile

添加下面代码

##ANT
export ANT_HOME=/opt/module/apache-ant-1.10.7
export PATH=$PATH:$ANT_HOME/bin

##MAVEN
export MAVEN_HOME=/opt/module/apache-maven-3.6.2
export PATH=$PATH:$MAVEN_HOME/bin

##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_211/
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile      使环境变量生效。

然后检验环境变量有没有配置成功

hadoop源码编译_解压缩_02


安装gcc编译器  (root 身份)


yum -y install glibc-headers.x86_64                      具体可以按下tab键进行自动补全

yum -y install gcc-c++.x86_64

yum -y install make

yum -y install cmake


进入到解压缩后的protobuf文件夹

cd /opt/module/protobuf-3.6.1

 进行编译安装protobuf

依次执行


./configure

make

make check

make install

ldconfig


make命令 从2:37开始到2:45结束

make check从2:45到2:55结束

make install 从2:55 到2:56


vim /etc/profile

#LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH

 输入 protoc --version 验证环境变量是否配置成功!



 yum -y install openssl-devel

yum -y install ncurses-devel


 编译源码

进入到解压缩后的hadoop文件夹

cd /opt/hadoop-2.7.7/

执行下列命令

mvn package -Pdist,native -DskipTests -Dtar

3:47开始5:41出现错误

遇到了protobuf版本问题,卸载了3.6.1版本的,安装2.5.0版本。继续执行上面的命令,继续编译源码

6:30完成