TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 准备阶段

  • 理解packages.gradle

  • 理解bigtop.bom

  • Hadoop编译

    • version-3.3.4

      • Hadoop_3.3.4 编译实战
        • 1. 构建环境准备与依赖
        • 2. 源码包准备与离线编译建议
        • 3. 一键构建命令与参数说明
        • 4. 编译流程与关键日志解析
        • 5. 编译产物与输出目录
        • 6. 常见问题与后续集成
      • [O]Hadoop版本适配改造(一)
      • [O]Hadoop版本适配改造(二)
      • [O]Hadoop版本适配改造(三)
      • [B]Hadoop版本适配改造(一)
  • Flink编译

  • Spark编译

  • Atlas编译

  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

  • 组件编译-Bigtop
  • Hadoop编译
  • version-3.3.4
JaneTTR
2025-06-06
目录

Hadoop_3.3.4 编译实战1.0.0+

# 1. 构建环境准备与依赖

Hadoop 3.3.4 编译同样强依赖 Bigtop 体系,强烈建议直接在官方 Bigtop 容器或预设环境下完成,极大减少环境不一致导致的构建失败。

环境组件 推荐版本 安装参考
JDK 1.8 ONEKEY——安装JDK1.8
Maven 3.8.4 ONEKEY——安装Maven3.8.4
Gradle 内嵌于 Bigtop ONEKEY——安装Gradle5.6.4

提示

如未配置上述环境,可参考本站 JDK、Maven、Gradle 文档。不仅有详细安装说明,还附带一键安装脚本与离线包下载,覆盖主流运维场景,极大提升稳定性与复现度。

# 2. 源码包准备与离线编译建议

Hadoop 的源码包建议提前下载,默认存放路径为 /opt/modules/bigtop/dl/hadoop-3.3.4.tar.gz,首次构建会自动检测,缺失时自动尝试联网下载。

警告

企业云环境/内网环境建议务必提前下载所有源码和依赖包,否则编译过程中网络波动或墙代理问题易致失败。

Zookeeper源码包

# 3. 一键构建命令与参数说明 推荐

进入 Bigtop 根目录后,直接执行如下命令:

gradle hadoop-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix -d
1

执行该命令会自动下载

编译命令

参数 作用说明
-PparentDir 指定 Bigtop 根路径,推荐必填
-Dbuildwithdeps=true 强制自动拉取全部依赖组件,保证依赖完整
-PpkgSuffix 自定义包名后缀,选填
-d 输出详细调试日志,有助问题定位

注意

务必确认当前 JAVA_HOME、M2_HOME PYTHON3 等变量已正确指向实际路径,避免依赖找不到。

# 4. 编译流程与关键日志解析

执行 gradle 任务后,Bigtop 会自动串联底层脚本与 Maven 任务,核心日志示例:

+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd hadoop-3.3.4-src
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (patch10-HADOOP-COMPILE-FAST.diff):'
Patch #0 (patch10-HADOOP-COMPILE-FAST.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file hadoop-project/pom.xml
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/pom.xml
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower-shrinkwrap.json
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json
+ echo 'Patch #1 (patch11-HADOOP-COMPILE-FAST.diff):'
Patch #1 (patch11-HADOOP-COMPILE-FAST.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml
+ echo 'Patch #2 (patch3-fix-broken-dir-detection.diff):'
Patch #2 (patch3-fix-broken-dir-detection.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh
+ echo 'Patch #3 (patch5-fix-kms-shellprofile.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
Patch #3 (patch5-fix-kms-shellprofile.diff):
patching file hadoop-common-project/hadoop-kms/src/main/libexec/shellprofile.d/hadoop-kms.sh
+ echo 'Patch #4 (patch6-fix-httpfs-sh.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
Patch #4 (patch6-fix-httpfs-sh.diff):
patching file hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/sbin/httpfs.sh
+ echo 'Patch #5 (patch7-remove-phantomjs-in-yarn-ui.diff):'
Patch #5 (patch7-remove-phantomjs-in-yarn-ui.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/yarn.lock
+ echo 'Patch #6 (patch9-revert-HADOOP-17196.diff):'
Patch #6 (patch9-revert-HADOOP-17196.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file hadoop-common-project/hadoop-common/HadoopCommon.cmake
patching file hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt
Hunk #1 succeeded at 153 (offset 1 line).
patching file hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
Hunk #1 succeeded at 52 (offset 1 line).
Hunk #2 succeeded at 153 (offset 6 lines).
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.cuBJcQ
+ umask 022
+ cd /opt/modules/bigtop/build/hadoop/rpm//BUILD
+ cd hadoop-3.3.4-src
+ env HADOOP_VERSION=3.3.4 HADOOP_ARCH=Linux-amd64-64 DO_MAVEN_DEPLOY=false MAVEN_DEPLOY_SOURCE=false MAVEN_REPO_ID= MAVEN_REPO_URI= bash /opt/modules/bigtop/build/hadoop/rpm/SOURCES/do-co
mponent-build
+ '[' x86_64 = powerpc64le ']'
+ '[' x86_64 = aarch64 ']'
++ dirname /opt/modules/bigtop/build/hadoop/rpm/SOURCES/do-component-build
+ . /opt/modules/bigtop/build/hadoop/rpm/SOURCES/bigtop.bom
++ ZOOKEEPER_VERSION=3.5.9
++ HADOOP_VERSION=3.3.4
++ HBASE_VERSION=2.4.13
++ HIVE_VERSION=3.1.3
++ TEZ_VERSION=0.10.1
++ OOZIE_VERSION=5.2.1
++ SOLR_VERSION=8.11.2
++ SPARK_VERSION=3.5.5
++ FLINK_VERSION=1.17.2
++ PHOENIX_VERSION=5.1.2
++ BIGTOP_GROOVY_VERSION=2.5.4
++ BIGTOP_UTILS_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_SELECT_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_JSVC_VERSION=1.2.4
++ ALLUXIO_VERSION=2.8.0
++ KAFKA_VERSION=2.8.1
++ YCSB_VERSION=0.17.0
++ ZEPPELIN_VERSION=0.10.1
++ GPDB_VERSION=5.28.5
++ AMBARI_VERSION=2.7.5
++ BIGTOP_AMBARI_MPACK_VERSION=2.7.5
++ LIVY_VERSION=0.7.1
++ RANGER_VERSION=2.4.0
++ SQOOP_VERSION=1.4.7
++ REDIS_VERSION=7.4.0
++ DOLPHINSCHEDULER_VERSION=3.2.2
++ DORIS_VERSION=2.1.7
++ NIGHTINGALE_VERSION=7.7.2
++ CATEGRAF_VERSION=0.4.1
++ VICTORIAMETRICS_VERSION=1.109.1
++ CLOUDBEAVER_VERSION=24.3.3
++ CELEBORN_VERSION=0.5.3
++ OZONE_VERSION=1.4.1
++ IMPALA_VERSION=4.4.1
++ TRINO_VERSION=474
++ HUDI_VERSION=1.0.1
++ PAIMON_VERSION=1.1.0
++ ATLAS_VERSION=2.4.0
++ SUPERSET_VERSION=4.1.2
++ JDK_VERSION=1.8
++ SCALA_VERSION=2.12.13
+ '[' -z '' ']'
+ '[' -f /usr/lib/libsnappy.so ']'
+ '[' -f /usr/lib64/libsnappy.so ']'
+ '[' -f /usr/lib/x86_64-linux-gnu/libsnappy.so ']'
+ mkdir build
+ mkdir build/src
+ MAVEN_OPTS='-Dzookeeper.version=3.5.9 '
+ MAVEN_OPTS+='-Dleveldbjni.group=org.fusesource.leveldbjni '
+ MAVEN_OPTS+='-DskipTests -DskipITs '
++ dirname /opt/modules/bigtop/build/hadoop/rpm/SOURCES/do-component-build
+ . /opt/modules/bigtop/build/hadoop/rpm/SOURCES/maven_deploy.sh
++ '[' false = true ']'
+ tar -zxvf ../../SOURCES/yarn-ui-bower.tar.gz -C ./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp
bower_components/qunit/src/
bower_components/qunit/src/export.js
bower_components/qunit/src/intro.js
bower_components/qunit/src/diff.js
bower_components/qunit/src/assert.js
bower_components/qunit/src/core.js
bower_components/qunit/src/qunit.css
bower_components/qunit/src/equiv.js
bower_components/qunit/src/dump.js
bower_components/qunit/src/core/
bower_components/qunit/src/core/stacktrace.js
bower_components/qunit/src/core/config.js
bower_components/qunit/src/core/onerror.js
bower_components/qunit/src/core/initialize.js
bower_components/qunit/src/core/utilities.js
bower_components/qunit/src/core/logging.js
bower_components/qunit/src/test.js
bower_components/qunit/src/outro.js
bower_components/qunit/build/
bower_components/qunit/build/release.js
bower_components/qunit/README.md
bower_components/qunit/browserstack-all.json
bower_components/qunit/.bower.json
bower_components/qunit/bower.json
bower_components/qunit/reporter/
bower_components/qunit/reporter/html.js
bower_components/qunit/LICENSE.txt
bower_components/qunit/CONTRIBUTING.md
bower_components/qunit/qunit/
bower_components/qunit/qunit/qunit.js
bower_components/qunit/qunit/qunit.css
bower_components/qunit/History.md
+ rm -rf ./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/yarn.lock
+ mvn -X -Pdist -Pnative -Psrc -Pyarn-ui -Dtar -Dzookeeper.version=3.5.9 -Dleveldbjni.group=org.fusesource.leveldbjni -DskipTests -DskipITs install
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /opt/modules/apache-maven-3.8.4
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /opt/modules/jdk1.8.0_202/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "6.6.87.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147

成功时,产物将归档到 output 目录,详见下节。编译日志片段

# 5. 编译产物与输出目录

Zookeeper产物示例

最终产物在如下路径:

/opt/modules/bigtop/output/hadoop/x86_64
1

例如:

image-20250520222504397

drwxr-xr-x 3 root root      4096 Jun  6 12:40 ..
-rw-r--r-- 1 root root 305473176 Jun  6 12:40 hadoop_3_2_0-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     36816 Jun  6 12:40 hadoop_3_2_0-client-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     33104 Jun  6 12:40 hadoop_3_2_0-conf-pseudo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root   1003948 Jun  6 12:40 hadoop_3_2_0-debuginfo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root   1134284 Jun  6 12:40 hadoop_3_2_0-debugsource-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root   8844716 Jun  6 12:40 hadoop_3_2_0-doc-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  58303608 Jun  6 12:40 hadoop_3_2_0-hdfs-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9568 Jun  6 12:40 hadoop_3_2_0-hdfs-datanode-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9412 Jun  6 12:40 hadoop_3_2_0-hdfs-dfsrouter-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     27736 Jun  6 12:40 hadoop_3_2_0-hdfs-fuse-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     49084 Jun  6 12:40 hadoop_3_2_0-hdfs-fuse-debuginfo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9524 Jun  6 12:40 hadoop_3_2_0-hdfs-journalnode-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9668 Jun  6 12:40 hadoop_3_2_0-hdfs-namenode-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9624 Jun  6 12:40 hadoop_3_2_0-hdfs-secondarynamenode-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9596 Jun  6 12:40 hadoop_3_2_0-hdfs-zkfc-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     11208 Jun  6 12:40 hadoop_3_2_0-httpfs-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     11752 Jun  6 12:40 hadoop_3_2_0-kms-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     36508 Jun  6 12:40 hadoop_3_2_0-libhdfs-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     72736 Jun  6 12:40 hadoop_3_2_0-libhdfs-debuginfo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     15232 Jun  6 12:40 hadoop_3_2_0-libhdfs-devel-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root   1203924 Jun  6 12:40 hadoop_3_2_0-libhdfspp-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  10054816 Jun  6 12:40 hadoop_3_2_0-libhdfspp-debuginfo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root     24016 Jun  6 12:40 hadoop_3_2_0-libhdfspp-devel-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root   4822144 Jun  6 12:40 hadoop_3_2_0-mapreduce-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9632 Jun  6 12:40 hadoop_3_2_0-mapreduce-historyserver-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  38757428 Jun  6 12:40 hadoop_3_2_0-yarn-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root    188436 Jun  6 12:40 hadoop_3_2_0-yarn-debuginfo-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9548 Jun  6 12:40 hadoop_3_2_0-yarn-nodemanager-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9416 Jun  6 12:40 hadoop_3_2_0-yarn-proxyserver-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9488 Jun  6 12:40 hadoop_3_2_0-yarn-resourcemanager-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9336 Jun  6 12:40 hadoop_3_2_0-yarn-router-3.3.4-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      9528 Jun  6 12:40 hadoop_3_2_0-yarn-timelineserver-3.3.4-1.el8.x86_64.rpm
[root@rocky8 x86_64]# pwd
/opt/modules/bigtop/output/hadoop/x86_64
[root@rocky8 x86_64]#


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 6. 常见问题与后续集成

Hadoop 包二次开发与适配过程常需涉及如下修改(参考实际业务需求可按需调整):

按顺序修改即可

  • Hadoop版本适配改造(一)
  • Hadoop版本适配改造(二)
  • Hadoop版本适配改造(三)
  • B-Hadoop版本适配改造(三)
#Hadoop#Bigtop#RPM#大数据生态#编译实战
Bigtop 添加新的组件
[O]Hadoop版本适配改造(一)

← Bigtop 添加新的组件 [O]Hadoop版本适配改造(一)→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hbase_2.4.13 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式