Hadoop详解(03)-Hadoop编译源码-了解
Hadoop详解(03)-Hadoop编译源码-了解
准备工作
- CentOS联网
配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的
- jar包准备(hadoop源码、JDK8、maven、ant 、protobuf)
(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包安装
注意:所有操作都在root用户下完成,采用root角色编译,减少文件夹权限出现问题
上传软件包到服务器/opt/software/hadoop_source目录
[root@localhost hadoop_source]# pwd
/opt/software/hadoop_source
[root@localhost hadoop_source]# ll
total 62856
-rw-r--r--. 1 root root 6874544 Nov 13 22:26 apache-ant-1.10.7-bin.tar.gz
-rw-r--r--. 1 root root 9506321 Nov 13 22:26 apache-maven-3.6.3-bin.tar.gz
-rw-r--r--. 1 root root 6578184 Sep 18 2015 cmake-3.3.2.tar.gz
-rw-r--r--. 1 root root 9190037 Nov 13 22:25 findbugs-3.0.1.zip
-rw-r--r--. 1 root root 29800905 Nov 13 22:26 hadoop-3.1.3-src.tar.gz
-rw-r--r--. 1 root root 2401901 Nov 13 22:25 protobuf-2.5.0.tar.gz
解压软件包指定的目录,例如: /opt/module/hadoop_source
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/module/hadoop_source/
tar -xzvf cmake-3.3.2.tar.gz -C /opt/module/hadoop_source/
tar -zxvf hadoop-3.1.3-src.tar.gz -C /opt/module/hadoop_source/
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/hadoop_source/
[root@localhost hadoop_source]# cd /opt/module/hadoop_source/
[root@localhost hadoop_source]# ll
total 12
drwxr-xr-x. 6 root root 99 Nov 24 19:33 apache-maven-3.6.3
drwxr-xr-x. 14 root root 4096 Nov 24 22:23 cmake-3.3.2
drwxr-xr-x. 18 root root 4096 Sep 12 2019 hadoop-3.1.3-src
drwxr-xr-x. 13 109965 5000 4096 Nov 24 20:30 protobuf-2.5.0
确认Java已安装且配置好环境变量
[root@localhost hadoop_source]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
配置maven环境变量,maven镜像, 并验证
配置maven的环境变量
[root@localhost hadoop_source]# vi /etc/profile
添加如下内容
#MAVEN_HOME
MAVEN_HOME=/opt/module/hadoop_source/apache-maven-3.6.3
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
重新加载
[root@localhost hadoop_source]# source /etc/profile
修改maven的镜像
[root@localhost ~]# cd /opt/module/hadoop_source/apache-maven-3.6.3/
[root@localhost apache-maven-3.6.3]# vi 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>
</mirrors>
验证maven环境
[root@localhost apache-maven-3.6.3]# mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/module/hadoop_source/apache-maven-3.6.3
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_191/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.8-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"
安装相关的依赖
注意安装依赖顺序不可乱,可能会出现依赖找不到问题
# 安装gcc make
yum install -y gcc* make
#安装压缩工具
yum -y install snappy* bzip2* lzo* zlib* lz4* gzip*
#安装一些基本工具
yum -y install openssl* svn ncurses* autoconf automake libtool
#安装扩展源,才可安装zstd
yum -y install epel-release
#安装zstd
yum -y install *zstd*
手动安装cmake
在解压好的cmake目录下,执行 ./bootstrap 进行编译,此过程需较长时间.
[root@localhost ~]# cd /opt/module/hadoop_source/cmake-3.3.2/
[root@localhost cmake-3.13.1]# ./bootstrap
执行安装
[root@localhost cmake-3.3.2]# gmake
[root@localhost cmake-3.3.2]# make install
验证安装是否成功
[root@localhost cmake-3.3.2]# cmake -version
cmake version 3.3.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
安装protobuf
[root@localhost ~]# cd /opt/module/hadoop_source/protobuf-2.5.0/
#依次执行下列命令 --prefix 指定安装到当前目录
[root@localhost protobuf-2.5.0]# ./configure --prefix=/opt/module/hadoop_source/protobuf-2.5.0
[root@localhost hadoop_source]# make && make install
#配置环境变量
[atguigu@hadoop101 protobuf-2.5.0]$ vim /etc/profile
PROTOC_HOME=/opt/module/hadoop_source/protobuf-2.5.0
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PROTOC_HOME/bin
[root@localhost protobuf-2.5.0]# source /etc/profile
#验证
[root@localhost protobuf-2.5.0]# protoc --version
libprotoc 2.5.0
到此,软件包安装配置工作完成
编译源码
进入解压后的hadoop源码目录下并执行编译命令
[root@localhost protobuf-2.5.0]# cd /opt/module/hadoop_source/hadoop-3.1.3-src/
[root@localhost hadoop-3.1.3-src]# mvn clean package -DskipTests -Pdist,native -Dtar
编译过程会非常漫长,第一次编译需要下载很多依赖jar包,最终所有的模块全部SUCCESS,如下所示:
- [INFO] ------------------------------------------------------------------------
- [INFO] Reactor Summary for Apache Hadoop Main 3.1.3:
- [INFO]
- [INFO] Apache Hadoop Main ................................. SUCCESS [ 0.981 s]
- [INFO] Apache Hadoop Build Tools .......................... SUCCESS [ 0.852 s]
- [INFO] Apache Hadoop Project POM .......................... SUCCESS [ 0.754 s]
- [INFO] Apache Hadoop Annotations .......................... SUCCESS [ 2.603 s]
- [INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.122 s]
- [INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 1.125 s]
- [INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 3.186 s]
- [INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 1.455 s]
- [INFO] Apache Hadoop Auth ................................. SUCCESS [ 4.232 s]
- [INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 1.891 s]
- [INFO] Apache Hadoop Common ............................... SUCCESS [02:21 min]
- [INFO] Apache Hadoop NFS .................................. SUCCESS [ 4.183 s]
- [INFO] Apache Hadoop KMS .................................. SUCCESS [ 17.735 s]
- [INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.047 s]
- [INFO] Apache Hadoop HDFS Client .......................... SUCCESS [01:53 min]
- [INFO] Apache Hadoop HDFS ................................. SUCCESS [02:06 min]
- [INFO] Apache Hadoop HDFS Native Client ................... SUCCESS [ 4.489 s]
- [INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 13.033 s]
- [INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [ 2.463 s]
- [INFO] Apache Hadoop HDFS-RBF ............................. SUCCESS [ 15.698 s]
- [INFO] Apache Hadoop HDFS Project ......................... SUCCESS [ 0.041 s]
- [INFO] Apache Hadoop YARN ................................. SUCCESS [ 0.040 s]
- [INFO] Apache Hadoop YARN API ............................. SUCCESS [ 12.451 s]
- [INFO] Apache Hadoop YARN Common .......................... SUCCESS [03:25 min]
- [INFO] Apache Hadoop YARN Registry ........................ SUCCESS [ 9.642 s]
- [INFO] Apache Hadoop YARN Server .......................... SUCCESS [ 0.029 s]
- [INFO] Apache Hadoop YARN Server Common ................... SUCCESS [01:02 min]
- [INFO] Apache Hadoop YARN NodeManager ..................... SUCCESS [ 30.559 s]
- [INFO] Apache Hadoop YARN Web Proxy ....................... SUCCESS [ 2.942 s]
- [INFO] Apache Hadoop YARN ApplicationHistoryService ....... SUCCESS [ 26.503 s]
- [INFO] Apache Hadoop YARN Timeline Service ................ SUCCESS [ 9.220 s]
- [INFO] Apache Hadoop YARN ResourceManager ................. SUCCESS [ 30.232 s]
- [INFO] Apache Hadoop YARN Server Tests .................... SUCCESS [ 0.892 s]
- [INFO] Apache Hadoop YARN Client .......................... SUCCESS [ 4.010 s]
- [INFO] Apache Hadoop YARN SharedCacheManager .............. SUCCESS [ 2.382 s]
- [INFO] Apache Hadoop YARN Timeline Plugin Storage ......... SUCCESS [ 2.250 s]
- [INFO] Apache Hadoop YARN TimelineService HBase Backend ... SUCCESS [ 0.094 s]
- [INFO] Apache Hadoop YARN TimelineService HBase Common .... SUCCESS [ 41.098 s]
- [INFO] Apache Hadoop YARN TimelineService HBase Client .... SUCCESS [01:50 min]
- [INFO] Apache Hadoop YARN TimelineService HBase Servers ... SUCCESS [ 0.030 s]
- [INFO] Apache Hadoop YARN TimelineService HBase Server 1.2 SUCCESS [ 3.158 s]
- [INFO] Apache Hadoop YARN TimelineService HBase tests ..... SUCCESS [02:32 min]
- [INFO] Apache Hadoop YARN Router .......................... SUCCESS [ 3.164 s]
- [INFO] Apache Hadoop YARN Applications .................... SUCCESS [ 0.047 s]
- [INFO] Apache Hadoop YARN DistributedShell ................ SUCCESS [ 2.130 s]
- [INFO] Apache Hadoop YARN Unmanaged Am Launcher ........... SUCCESS [ 1.590 s]
- [INFO] Apache Hadoop MapReduce Client ..................... SUCCESS [ 0.172 s]
- [INFO] Apache Hadoop MapReduce Core ....................... SUCCESS [ 32.555 s]
- [INFO] Apache Hadoop MapReduce Common ..................... SUCCESS [ 16.913 s]
- [INFO] Apache Hadoop MapReduce Shuffle .................... SUCCESS [ 2.936 s]
- [INFO] Apache Hadoop MapReduce App ........................ SUCCESS [ 5.723 s]
- [INFO] Apache Hadoop MapReduce HistoryServer .............. SUCCESS [ 3.798 s]
- [INFO] Apache Hadoop MapReduce JobClient .................. SUCCESS [ 3.924 s]
- [INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [ 0.554 s]
- [INFO] Apache Hadoop YARN Services ........................ SUCCESS [ 0.026 s]
- [INFO] Apache Hadoop YARN Services Core ................... SUCCESS [ 15.753 s]
- [INFO] Apache Hadoop YARN Services API .................... SUCCESS [ 0.765 s]
- [INFO] Apache Hadoop YARN Site ............................ SUCCESS [ 0.027 s]
- [INFO] Apache Hadoop YARN UI .............................. SUCCESS [ 0.836 s]
- [INFO] Apache Hadoop YARN Project ......................... SUCCESS [ 6.716 s]
- [INFO] Apache Hadoop MapReduce HistoryServer Plugins ...... SUCCESS [ 5.620 s]
- [INFO] Apache Hadoop MapReduce NativeTask ................. SUCCESS [ 47.760 s]
- [INFO] Apache Hadoop MapReduce Uploader ................... SUCCESS [ 1.505 s]
- [INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 3.326 s]
- [INFO] Apache Hadoop MapReduce ............................ SUCCESS [ 3.788 s]
- [INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 13.515 s]
- [INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 3.195 s]
- [INFO] Apache Hadoop Archives ............................. SUCCESS [ 1.461 s]
- [INFO] Apache Hadoop Archive Logs ......................... SUCCESS [ 1.569 s]
- [INFO] Apache Hadoop Rumen ................................ SUCCESS [ 8.515 s]
- [INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 2.649 s]
- [INFO] Apache Hadoop Data Join ............................ SUCCESS [ 1.873 s]
- [INFO] Apache Hadoop Extras ............................... SUCCESS [ 1.511 s]
- [INFO] Apache Hadoop Pipes ................................ SUCCESS [ 4.113 s]
- [INFO] Apache Hadoop OpenStack support .................... SUCCESS [ 7.416 s]
- [INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [02:40 min]
- [INFO] Apache Hadoop Kafka Library support ................ SUCCESS [ 09:50 h]
- [INFO] Apache Hadoop Azure support ........................ SUCCESS [ 25.711 s]
- [INFO] Apache Hadoop Aliyun OSS support ................... SUCCESS [ 37.034 s]
- [INFO] Apache Hadoop Client Aggregator .................... SUCCESS [ 1.356 s]
- [INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [ 4.156 s]
- [INFO] Apache Hadoop Resource Estimator Service ........... SUCCESS [ 12.507 s]
- [INFO] Apache Hadoop Azure Data Lake support .............. SUCCESS [ 23.888 s]
- [INFO] Apache Hadoop Image Generation Tool ................ SUCCESS [ 2.220 s]
- [INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 8.810 s]
- [INFO] Apache Hadoop Tools ................................ SUCCESS [ 0.027 s]
- [INFO] Apache Hadoop Client API ........................... SUCCESS [01:56 min]
- [INFO] Apache Hadoop Client Runtime ....................... SUCCESS [01:06 min]
- [INFO] Apache Hadoop Client Packaging Invariants .......... SUCCESS [ 4.242 s]
- [INFO] Apache Hadoop Client Test Minicluster .............. SUCCESS [02:06 min]
- [INFO] Apache Hadoop Client Packaging Invariants for Test . SUCCESS [ 0.116 s]
- [INFO] Apache Hadoop Client Packaging Integration Tests ... SUCCESS [ 0.086 s]
- [INFO] Apache Hadoop Distribution ......................... SUCCESS [01:13 min]
- [INFO] Apache Hadoop Client Modules ....................... SUCCESS [ 0.038 s]
- [INFO] Apache Hadoop Cloud Storage ........................ SUCCESS [ 0.443 s]
- [INFO] Apache Hadoop Cloud Storage Project ................ SUCCESS [ 0.029 s]
- [INFO] ------------------------------------------------------------------------
- [INFO] BUILD SUCCESS
- [INFO] ------------------------------------------------------------------------
- [INFO] Total time: 10:24 h
- [INFO] Finished at: 2021-11-24T19:56:26-05:00
- [INFO] ------------------------------------------------------------------------
成功的64位hadoop包位/hadoop-3.1.3-src/hadoop-dist/target下的hadoop-3.1.3.tar.gz压缩包
[root@localhost hadoop-3.1.3-src]# cd hadoop-dist/target/
[root@localhost target]# ll
total 287544
drwxr-xr-x. 2 root root 28 Nov 25 08:55 antrun
drwxr-xr-x. 3 root root 22 Nov 25 08:55 classes
drwxr-xr-x. 9 root root 149 Nov 25 08:55 hadoop-3.1.3
-rw-r--r--. 1 root root 294442930 Nov 25 08:55 hadoop-3.1.3.tar.gz
drwxr-xr-x. 3 root root 22 Nov 25 08:55 maven-shared-archive-resources
drwxr-xr-x. 3 root root 22 Nov 25 08:55 test-classes
drwxr-xr-x. 2 root root 6 Nov 25 08:55 test-dir
本文作者:莲藕淹,转载请注明原文链接:https://www.cnblogs.com/meanshift/p/15630702.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY