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)
  • Ambari

    • 编译小技巧

    • 使用Ambari-Env编译

    • 适用于Centos7.9

    • 适用于Rocky8.10

      • Ambari编译——教程大纲
      • Ambari编译——环境准备
      • Ambari编译——RPM部分修改
      • Ambari编译——教程大纲
        • 环境准备与依赖梳理
        • 1. 源代码调整与前端依赖加速
          • 1.1 优化 ambari-admin 构建流程
        • 2. 全量编译命令与参数说明
        • 3. 编译产物与目录结构
      • Ambari编译——环境准备
    • 适用于Ubuntu22.04

  • Ambari-Metrics

  • Ambari-Infra

  • 组件编译-Ambari
  • Ambari
  • 适用于Rocky8.10
JaneTTR
2025-05-03
目录

Ambari编译——教程大纲3.0.0

# 环境准备与依赖梳理

在正式操作前,请务必参照环境准备 章节,提前完成所有依赖包安装与环境变量配置,包括 JDK、Maven、Node.js 及基础开发包,否则后续编译极易中断。

注意

环境未满足时,后续步骤将频繁遇到报错,务必逐项核查依赖与变量配置。

# 1. 源代码调整与前端依赖加速

# 1.1 优化 ambari-admin 构建流程 前端提速

编译 ambari-admin 组件时,建议如下修改 frontend-maven-plugin 配置,实现 Node.js 与 npm 国内源加速,大幅提升依赖拉取效率。


<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.3</version>
    <configuration>
        <nodeVersion>v4.5.0</nodeVersion>
        <npmVersion>2.15.0</npmVersion>
        <workingDirectory>src/main/resources/ui/admin-web/</workingDirectory>
        <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
    </configuration>
    <executions>
        <execution>
            <id>install node and npm</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>install-node-and-npm</goal>
            </goals>
        </execution>
        <execution>
            <id>npm install</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>npm</goal>
            </goals>
            <configuration>
                <arguments>install --unsafe-perm --registry=https://registry.npmmirror.com</arguments>
            </configuration>
        </execution>
    </executions>
</plugin>
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

提示

加速 npm 拉取可显著缩短编译等待时间,尤其在国内网络环境下非常必要。

调整截图

# 2. 全量编译命令与参数说明

日常开发推荐用下方 Maven 命令一键打包 RPM,集成多线程与跳过不必要检查,加快构建速度:

mvn -T 16C -B install package rpm:rpm \
  -Drat.skip=true \
  -Dcheckstyle.skip=true \
  -DskipTests \
  -Dspotbugs.skip=true \
  -Preplaceurl
1
2
3
4
5
6
参数 说明
-T 16C 多线程自动检测16核并行,建议根据主机实际 CPU 数量调整
-B 无交互模式,适合自动化与脚本集成
-Drat.skip=true 跳过 LICENSE 校验,加速构建
-Dcheckstyle.skip=true 跳过代码风格检查,减少不必要阻塞
-DskipTests 跳过全部测试,适用于稳定环境下的打包环节
-Dspotbugs.skip=true 跳过静态分析,避免 findbugs/spotbugs 报错导致失败
-Preplaceurl 激活自定义 profile,自动替换部分下载链接

笔记

建议优先充分利用主机硬件资源,多线程构建可提升数倍性能,但首次编译依然会因依赖拉取消耗较长时间。

编译效果截图如下:

编译截图

# 3. 编译产物与目录结构

编译成功后,所有 rpm 包会产出在各模块的 target/rpm 目录下。实际案例展示:

[root@hadoop2 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
1
2
3
4
5
6
7
8
9
10
11

同时可配合截图直观查看:

编译成功效果

查看编译后的rpm目录

提示

如果在依赖安装、环境变量、网络下载等环节遇到异常,可查阅本站其他报错解决与编译排障专题,获取一键修复方案。

#Ambari#源码编译#RPM#前端依赖#性能优化
Ambari编译——RPM部分修改
Ambari编译——环境准备

← Ambari编译——RPM部分修改 Ambari编译——环境准备→

最近更新
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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式