准备前期工作
1、CentOS联网
使用能连接外网的CentOS系统虚拟机,使用root用户进行编译,避免出现文件夹权限问题。
2、Jar包准备
从官网下载以下安装包
(1)hadoop-3.1.3-src.tar.gz
(2)jdk-8u212-linux-x64.tar.gz
(3)apache-maven-3.6.3-bin.tar.gz
(4)protobuf-2.5.0.tar.gz(序列化的框架)
(5)cmake-3.13.1.tar.gz
Jar包安装
1、上传软件包到指定的目录,例如 /opt/software/hadoop_source
[root@hadoop101 hadoop_source]$ pwd
/opt/software/hadoop_source
[root@hadoop101 hadoop_source]$ ll
总用量 55868
-rw-rw-r–. 1 atguigu atguigu 9506321 3月 28 13:23 apache-maven-3.6.3-bin.tar.gz
-rw-rw-r–. 1 atguigu atguigu 8614663 3月 28 13:23 cmake-3.13.1.tar.gz
-rw-rw-r–. 1 atguigu atguigu 29800905 3月 28 13:23 hadoop-3.1.3-src.tar.gz
-rw-rw-r–. 1 atguigu atguigu 2401901 3月 28 13:23 protobuf-2.5.0.tar.gz
2、解压软件包至指定的目录,例如:/opt/module/Hadoop_source
[root@hadoop101 hadoop_source]$ tar -zxvfapache-maven-3.6.3-bin.tar.gz -C /opt/module/hadoop_source/
[root@hadoop101 hadoop_source]$ tar -zxvfcmake-3.13.1.tar.gz -C /opt/module/hadoop_source/
[root@hadoop101 hadoop_source]$ tar -zxvfhadoop-3.1.3-src.tar.gz -C /opt/module/hadoop_source/
[root@hadoop101 hadoop_source]$ tar -zxvfprotobuf-2.5.0.tar.gz -C /opt/module/hadoop_source/
[root@hadoop101 hadoop_source]$ pwd
/opt/module/hadoop_source
[root@hadoop101 hadoop_source]$ ll
总用量 20
drwxrwxr-x. 6 root root 4096 3月 28 13:25 apache-maven-3.6.3
drwxr-xr-x. 15 root root 4096 3月 28 13:43 cmake-3.13.1
drwxr-xr-x. 18 root root 4096 9月 12 2019 hadoop-3.1.3-src
drwxr-xr-x. 10 root root 4096 3月 28 13:44 protobuf-2.5.0
3、安装JDK
(1)解压JDK
[root@hadoop101 hadoop_source]# tar -zxvfjdk-8u212-linux-x64.tar.gz -C /opt/module/hadoop_source/
(2)配置环境变量
[root@hadoop101 jdk1.8.0_212]# vim/etc/profile.d/my_env.sh
输入如下内容:
#JAVA_HOME
exportJAVA_HOME=/opt/module/hadoop_source/jdk1.8.0_212
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
(3)刷新JDK环境变量
[root@hadoop101 jdk1.8.0_212]# source/etc/profile
(4)验证JDK是否安装成功
[root@hadoop101 hadoop_source]$ java-version
java version “1.8.0_212”
Java™ SE Runtime Environment (build1.8.0_212-b10)
Java HotSpot™ 64-Bit Server VM (build25.212-b10, mixed mode)
4、配置maven环境变量,maven镜像,并验证
(1)配置maven的环境变量
[root@hadoop101 hadoop_source]# vim /etc/profile.d/my_env.sh
#MAVEN_HOME
MAVEN_HOME=/opt/module/hadoop_source/apache-maven-3.6.3
PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:$MAVEN_HOME/bin
[root@hadoop101 hadoop_source]# source /etc/profile
(2)修改maven的镜像
[root@hadoop101 apache-maven-3.6.3]# vi conf/settings.xml
在 mirrors节点中添加阿里云镜像
nexus-aliyun central Nexusaliyun http://maven.aliyun.com/nexus/content/groups/public (3)验证maven安装是否成功[root@hadoop101 hadoop_source]# mvn-version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home:/opt/module/hadoop_source/apache-maven-3.6.3
Java version: 1.8.0_212, vendor: OracleCorporation, runtime: /opt/module/hadoop_source/jdk1.8.0_212/jre
Default locale: zh_CN, platform encoding:UTF-8
OS name: “linux”, version:“3.10.0-862.el7.x86_64”, arch: “amd64”, family:“unix”
5、安装相关的依赖(注意安装顺序不可乱,可能会出现依赖找不到问题)
(1)安装gcc make
[root@hadoop101 hadoop_source]# yuminstall -y gcc* make
(2)安装压缩工具
[root@hadoop101 hadoop_source]# yum -y install snappy* bzip2* lzo* zlib* lz4* gzip*
(3)安装一些基本工具
[root@hadoop101 hadoop_source]# yum -y install openssl* svn ncurses* autoconf automake libtool
(4)安装扩展源,才可安装zstd
[root@hadoop101 hadoop_source]# yum -yinstall epel-release
(5)安装zstd
[root@hadoop101 hadoop_source]# yum -yinstall zstd
6、手动安装cmake
(1)在解压好的cmake目录下,执行./bootstrap进行编译,此过程需一小时请耐心等待
[root@hadoop101cmake-3.13.1]$ pwd
/opt/module/hadoop_source/cmake-3.13.1
[root@hadoop101 cmake-3.13.1]$./bootstrap
(2)执行安装
[root@hadoop101 cmake-3.13.1]$ make&& make install
(3)验证安装是否成功
[root@hadoop101 cmake-3.13.1]$ cmake-version
cmake version 3.13.1
CMake suite maintained and supported byKitware (kitware.com/cmake).
7、进入到解压后的protobuf目录,安装protobuf
(1)依次执行下列命令–prefix 指定安装到当前目录
[root@hadoop101 protobuf-2.5.0]$./configure --prefix=/opt/module/hadoop_source/protobuf-2.5.0
[root@hadoop101 protobuf-2.5.0]$ make&& make install
(2)配置环境变量
[root@hadoop101 protobuf-2.5.0]$ vim /etc/profile.d/my_env.sh
输入如下内容
PROTOC_HOME=/opt/module/hadoop_source/protobuf-2.5.0
PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:
M
A
V
E
N
H
O
M
E
/
b
i
n
:
MAVEN_HOME/bin:
MAVENHOME/bin:PROTOC_HOME/bin
(3)验证
[root@hadoop101 protobuf-2.5.0]$ source /etc/profile
[root@hadoop101 protobuf-2.5.0]$ protoc --version
libprotoc 2.5.0
8、到此,软件包安装配置工作完成。
编译源码
1、进入解压后的Hadoop源码目录下,执行编译命令
[root@hadoop101 hadoop-3.1.3-src]$ pwd
/opt/module/hadoop_source/hadoop-3.1.3-src
#开始编译
[root@hadoop101 hadoop-3.1.3-src]$ mvn clean package -DskipTests -Pdist,native -Dtar
注意:第一次编译需要下载很多依赖jar包,编译时间会很久,预计1小时左右,最终成功是全部SUCCESS,爽!!!
2、成功的64位hadoop包在/opt/hadoop-3.1.3-src/hadoop-dist/target下