跳到主要内容
版本:3.0.0

从源代码构建 Apache Ambari

本指南介绍如何从源代码构建 Apache Ambari 3.0 及其相关子项目。

前置条件

开始前,请确保已安装以下依赖:

系统要求

  • 操作系统:Rocky Linux 8 或 9(推荐)
  • Python 3 开发工具(python3-devel

Java 要求

  • Ambari 主项目:JDK 17
  • Ambari Metrics:JDK 8
  • Ambari Infra:JDK 8

构建 Ambari 主项目

1. 克隆仓库

git clone git@github.com:apache/ambari.git
cd ambari

2. 构建选项

不生成 RPM 构建

不创建 RPM 软件包而构建 Ambari:

mvn -B -T 2C clean install package \
-Drat.skip=true \
-DskipTests \
-Dmaven.test.skip=true \
-Dfindbugs.skip=true \
-Dcheckstyle.skip=true

生成 RPM 构建

构建 Ambari 并创建 RPM 软件包:

mvn -B -T 2C clean install package rpm:rpm \
-Drat.skip=true \
-DskipTests \
-Dmaven.test.skip=true \
-Dfindbugs.skip=true \
-Dcheckstyle.skip=true

RPM 软件包将生成在:

  • Ambari Agent:ambari/ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ambari-agent-3.0.0.0-SNAPSHOT.x86_64.rpm
  • Ambari Server:ambari/ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-3.0.0.0-SNAPSHOT.x86_64.rpm

构建 Ambari Metrics

性能优化

要显著提高构建性能,请在构建前将二进制依赖下载到本地:

  1. 创建依赖目录:
mkdir -p /ws/dl/
  1. 下载所需的二进制文件:
wget -P /ws/dl/ http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/hbase-2.4.13-bin.tar.gz
wget -P /ws/dl/ http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/hadoop-3.3.4.tar.gz
wget -P /ws/dl/ https://dl.grafana.com/oss/release/grafana-11.1.4.linux-amd64.tar.gz
wget -P /ws/dl/ http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/x86_64/phoenix-hbase-2.4-5.1.2-bin.tar.gz
  1. 修改 ambari-metrics 项目中的 pom.xml 以使用本地文件:
<!-- Update these properties to use local files -->
<properties>
<hbase.tar>file:///ws/dl/hbase-2.4.13-bin.tar.gz</hbase.tar>
<hadoop.tar>file:///ws/dl/hadoop-3.3.4.tar.gz</hadoop.tar>
<grafana.tar>file:///ws/dl/grafana-11.1.4.linux-amd64.tar.gz</grafana.tar>
<phoenix.tar>file:///ws/dl/phoenix-hbase-2.4-5.1.2-bin.tar.gz</phoenix.tar>
</properties>

此优化可避免重复构建时进行大文件下载,从而节省大量时间。

1. 克隆仓库

git clone git@github.com:apache/ambari-metrics.git
cd ambari-metrics

2. 构建选项

不生成 RPM 构建

不创建 RPM 软件包而构建 Ambari Metrics:

mvn -T 2C clean install -DskipTests

生成 RPM 构建

构建 Ambari Metrics 并创建 RPM 软件包:

mvn -T 2C clean install -DskipTests -Dbuild-rpm

查找生成的 RPM 软件包:

find ./ -name "*.rpm"

构建 Ambari Infra

1. 克隆仓库

git clone git@github.com:apache/ambari-infra.git
cd ambari-infra

2. 构建 RPM 软件包

make rpm