编译Ambari 3.0.0全攻略

#JavaScript性能优化实战#

环境准备

本章详细介绍如何在 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 17Maven 3.8.4
已整理好:

环境组件推荐版本安装与配置指引
JDK17JDK 17 安装教程
Maven3.8.4Maven 安装教程

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

可配合实际产出截图直观查看:

Ambari3.0编译成功

如果想看看其他组件安装可以参考
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值