编译Ambari 3.0.0全攻略
环境准备
本章详细介绍如何在 CentOS 7.9 环境下顺利编译 Ambari 3.0.0。其他版本或系统需要自行进行实验与调整。
如果你的系统和当前不匹配,可以参考其他内容,完成自己的部署于安装https://doc.janettr.com/component/compile/ambari
1. 基础依赖安装
建议先一次性安装好所需工具包,避免后续编译反复因缺失依赖而报错:
yum install -y \git \vim \sudo \rpm-build \rpmdevtools \python3 \wget
如果遇到前端依赖包下载异常(如 yarn),可提前准备好本地离线包:
mkdir -p /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./
wget -O /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./yarn-v0.23.2.tar.gz \https://ghfast.top/https://github.com/yarnpkg/yarn/releases/download/v0.23.2/yarn-v0.23.2.tar.gz
国内网络环境下 yarn、node 等包下载常超时,提前准备可显著提升编译成功率。
2. 克隆 Ambari 源代码
获取官方源码,建议优先用国内加速链路:
# 克隆指定版本分支
git clone -b branch-3.0.0 https://github.com/apache/ambari.git# 遇到 GitHub 卡顿,可选用国内加速
git clone -b branch-3.0.0 https://ghfast.top/https://github.com/apache/ambari.git# 若需体验最新 trunk,可拉主分支
git clone https://github.com/apache/ambari.git
优先使用加速链 ,避免反复拉取失败。
3. 安装 JDK 17 与 Maven 3.8.4
Ambari 3.0.0 对 JDK 版本要求严格,务必采用 JDK 17 与 Maven 3.8.4。
已整理好:
环境组件 | 推荐版本 | 安装与配置指引 |
---|---|---|
JDK | 17 | JDK 17 安装教程 |
Maven | 3.8.4 | Maven 安装教程 |
4. 全量编译命令与参数说明
推荐如下 Maven 命令高效打包 RPM,集成多线程与常见跳过参数,显著提升构建速度:
mvn -T 16C -B install package rpm:rpm \-Drat.skip=true \-Dcheckstyle.skip=true \-DskipTests \-Dspotbugs.skip=true \-Preplaceurl
参数 | 说明 |
---|---|
-T 16C | 按主机 CPU 并行,建议根据实际核数自定义 |
-B | 无交互模式,适合自动化与脚本集成 |
-Drat.skip=true | 跳过 LICENSE 校验,加速构建 |
-Dcheckstyle.skip=true | 跳过代码风格检查,减少阻塞 |
-DskipTests | 跳过全部单测,适合稳定环境下的打包场景 |
-Dspotbugs.skip=true | 跳过静态分析,规避 findbugs/spotbugs 报错导致中断 |
-Preplaceurl | 激活自定义 profile,自动替换部分依赖下载链接 |
编译效果示例:
3. 编译产物与目录结构
编译成功后,所有 rpm 包产出在各模块的 target/rpm
目录下。实际命令与产物示例:
[root@centos5 ambari]# find . -iname *.rpm
./ambari-admin/target/rpm/ambari-admin/RPMS/noarch/ambari-admin-3.0.0.0-0.noarch.rpm
./ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ambari-agent-3.0.0.0-0.x86_64.rpm
./ambari-funtest/target/rpm/ambari-funtest/RPMS/noarch/ambari-funtest-3.0.0.0-0.noarch.rpm
./ambari-project/target/rpm/ambari-project/RPMS/noarch/ambari-project-3.0.0.0-0.noarch.rpm
./ambari-server-spi/target/rpm/ambari-server-spi/RPMS/noarch/ambari-server-spi-3.0.0.0-0.noarch.rpm
./ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-3.0.0.0-0.x86_64.rpm
./ambari-serviceadvisor/target/rpm/ambari-serviceadvisor/RPMS/noarch/ambari-serviceadvisor-3.0.0.0-0.noarch.rpm
./ambari-views/target/rpm/ambari-views/RPMS/noarch/ambari-views-3.0.0.0-0.noarch.rpm
./ambari-web/target/rpm/ambari-web/RPMS/noarch/ambari-web-3.0.0.0-0.noarch.rpm
./target/rpm/ambari/RPMS/noarch/ambari-3.0.0.0-0.noarch.rpm
可配合实际产出截图直观查看:
如果想看看其他组件安装可以参考