编译Hadoop3.2.0-3.3.41.0.0+
# 📦 背景介绍
Bigtop 是一个专注于 构建、打包、测试大数据生态组件 的 Apache 顶级项目,常与 Ambari 配合用于企业级集群部署。
本文将基于 Ambari 2.8.0 + Bigtop 3.2.0 环境,介绍如何编译 Hadoop 3.3.4,生成可用于集群部署的 RPM
安装包。适用于定制化 Hadoop 部署场景
# 1️⃣ 编译前准备
# 1.1 环境要求
环境说明
建议使用 CentOS 7 系统,避免兼容性问题。构建工具和依赖项如下表所示。
| 组件 | 版本 | 说明 |
|---|---|---|
| JDK | JDK 1.8 | Bigtop 3.2.0 默认依赖 |
| Maven | ≥ 3.3.9 | 构建部分子模块 |
| Gradle | ≥ 5.6 | Bigtop 编译核心 |
| Python | 2.7 | Python2 仍为默认 |
| g++ | - | 编译 C/C++ 组件 |
| rpm-build | - | 构建 RPM 包 |
| setuptools | - | 通过 pip 安装 |
# 1.2 安装依赖工具链
我们已为以下构建工具准备好独立文档及一键安装脚本:
# 2️⃣ 编译 Hadoop
# 2.1 构建命令
在准备好 bigtop 仓库源码后,进入根目录并执行以下命令:
gradle hadoop-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix -d
1
参数说明:
hadoop-rpm:编译目标为 Hadoop-PparentDir:输出目录根路径-Dbuildwithdeps:是否编译依赖模块-PpkgSuffix:可选后缀,用于区分测试版本
执行该命令后,将开始下载依赖、配置环境并编译 Hadoop 的 RPM 包。
# 2.2 编译产物
构建成功后,将生成如下路径下的 RPM 包:

文件示例(以 hadoop 为前缀):

# 2.3 获取源码
建议从 Gitee 克隆本地已适配版本:
仓库地址:https://gitee.com/tt-bigdata/bigtop-hadoop (opens new window) 版本标签:v3.2.0_3.3.4 (opens new window)

# 3️⃣ 使用 ambari-env 脚本构建(推荐)
我们封装了一套适配 Ambari 和 Bigtop 的自动构建脚本,执行以下命令即可一键编译:
bash /scripts/build/bigtop/build.sh
1
脚本特性:
- 自动安装依赖
- 自动执行 Gradle 构建
- 自动收集 RPM 包
- 可复用性强,适配多组件

- 01
- Ambari开启Kerberos认证加密类型错误 Kylin V1011-05
- 02
- KERBEROS SERVICE CHECK 报错11-04