TT Bigdata TT Bigdata
首页
  • 部署专题

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

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

    • 更新说明
  • Ambari-Env

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

    • 专区—Ambari
    • 专区—Bigtop
    • 专区—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
    • 专区—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编译

  • Flink编译

  • Spark编译

  • Livy编译

  • Zeppelin编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

    • version-2.8.1

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

  • Tez编译

  • 组件编译-Bigtop
  • Kafka编译
  • version-2.8.1
JaneTTR
2025-06-06
目录

Kafka_2.8.1 编译1.0.0+

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

Kafka 2.8.1 编译同样强依赖 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. 源码包准备与离线编译建议

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

警告

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

Kafka源码包

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

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

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

执行该命令会自动下载

编译命令

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

注意

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

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

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

+ '[' 0 -ne 0 ']'
+ cd kafka-2.8.1-src
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
-rwxrwxr-x root/root      8921 2021-09-14 13:03 kafka-2.8.1-src/vagrant/vagrant-up.sh
-rwxrwxr-x root/root      1893 2021-09-14 13:03 kafka-2.8.1-src/vagrant/zk.sh
-rw-rw-r-- root/root      3803 2021-09-14 13:03 kafka-2.8.1-src/wrapper.gradle
+ echo 'Patch #0 (patch0-KAFKA-12293-2.8.1.diff):'
Patch #0 (patch0-KAFKA-12293-2.8.1.diff):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file build.gradle
patching file gradle/buildscript.gradle
+ echo 'Patch #1 (patch1-PR11554-set-version-of-jgit.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
Patch #1 (patch1-PR11554-set-version-of-jgit.diff):
patching file build.gradle
Hunk #1 succeeded at 36 (offset -1 lines).
patching file gradle/dependencies.gradle
Patch #2 (patch2-KAFKA-COMPILE-FAST.diff):
+ echo 'Patch #2 (patch2-KAFKA-COMPILE-FAST.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file build.gradle
patching file gradle/wrapper/gradle-wrapper.properties
patching file gradlew
patching file vagrant/aws/aws-init.sh
patching file wrapper.gradle
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.GZ049K
+ umask 022
+ cd /opt/modules/bigtop/build/kafka/rpm//BUILD
+ cd kafka-2.8.1-src
+ bash /opt/modules/bigtop/build/kafka/rpm//SOURCES/do-component-build
++ dirname /opt/modules/bigtop/build/kafka/rpm//SOURCES/do-component-build
+ . /opt/modules/bigtop/build/kafka/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
+ BUILD_OPTS='-Divy.home=/root/.ivy2 -Dsbt.ivy.home=/root/.ivy2 -Duser.home=/root             -Drepo.maven.org=             -Dreactor.repo=file:///root/.m2/repository             -DNEXUS_URL=172.20.0.2             -DskipTests -DrecompileMode=all'
+ '[' -n '' ']'
+ export 'MAVEN_OPTS=-Xmx2g -XX:ReservedCodeCacheSize=512m'
+ MAVEN_OPTS='-Xmx2g -XX:ReservedCodeCacheSize=512m'
+ sed -i -e 's/zookeeper: *"\([0-9]\{1,\}\.\)*[0-9]\{1,\}"/zookeeper: "3.5.9"/' gradle/dependencies.gradle
+ ./gradlew -PscalaVersion=2.12.13 clean releaseTarGz -x signArchives -d
Downloading https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-6.8.1-all.zip
..............10%..............20%...............30%..............40%..............50%...............60%..............70%..............80%...............90%..............100%
2025
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

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

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

mvn编译命令

Kafka产物示例

最终产物在如下路径:

/opt/modules/bigtop/output/kafka/noarch
1

例如:

image-20250520222504397

[root@rocky8 noarch]# pwd
/opt/modules/bigtop/output/kafka/noarch
[root@rocky8 noarch]# ll
total 65668
drwxr-xr-x 2 root root     4096 Jun  8 04:32 .
drwxr-xr-x 3 root root     4096 Jun  8 04:32 ..
-rw-r--r-- 1 root root 67219672 Jun  8 04:32 kafka_3_2_0-2.8.1-2.el8.noarch.rpm
-rw-r--r-- 1 root root     9172 Jun  8 04:32 kafka_3_2_0-server-2.8.1-2.el8.noarch.rpm
[root@rocky8 noarch]#

1
2
3
4
5
6
7
8
9
10

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

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

按顺序修改即可

  • Kafka版本适配改造(一)
  • Kafka版本适配改造(二)
  • B-Kafka版本适配改造(一)
#Kafka#Bigtop#RPM#大数据生态#编译实战
[B]Hive版本适配改造(一)
[O]Kafka版本适配改造(一)

← [B]Hive版本适配改造(一) [O]Kafka版本适配改造(一)→

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