TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • 试读&介绍

  • Ambari-Metrics解读【简写AMS】

    • 源码下载及环境初始化
      • 背景说明
      • 一、源码获取与工具准备
      • 二、分支选择的缘由
      • 三、环境准备
      • 四、IDEA 打开与构建验证
    • 项目目录及模块解读
    • AMS-Collector剖析

    • AMS-Collector表结构实战

    • AMS-Collector接口实战

    • AMS-Monitor剖析

  • Metrics2协议解读

  • Hadoop-SINK剖析

  • Hbase-SINK剖析

  • Kafka-SINK剖析

  • 自定义组件接入监控

  • 其他监控方案

  • GOD-Ambari-Metrics
  • Ambari-Metrics解读【简写AMS】
JaneTTR
2025-09-01
目录

源码下载及环境初始化

# 背景说明

在前文中我们已经提到,从 2.8.0 版本开始,ambari-metrics 从 Ambari 主项目中拆分,成为独立子项目。
这种演进方式不仅减轻了 Ambari 本体的负担,也让 Metrics 组件可以更灵活地适配不同的环境和依赖。

  • 官方 GitHub 仓库地址:
    https://github.com/apache/ambari-metrics (opens new window)

独立仓库截图

为什么要独立?

独立出来的 Ambari-Metrics 可以:

  • 更快迭代:解耦 Ambari 本体后,Metrics 不受版本周期限制;
  • 跨环境兼容:能独立适配 JDK/Python 的不同组合;
  • 专注扩展:更好地支持 Grafana、Hadoop Sink 等下游生态。

# 一、源码获取与工具准备

要进入源码解读阶段,第一步是把代码下载到本地,并通过 IDEA 工具进行打开。
本次我们选择的分支是:

dependabot/maven/ambari-metrics-common/com.google.guava-guava-32.0.0-jre
1

为什么是这个分支?

  • 依赖更新:集成了较新的 Guava 依赖,避免低版本 Bug。
  • 兼容友好:能在 Python3 环境中正常工作,同时对 Python2 无缝集成。
  • 生产验证:经验证该分支在实际环境中指标采集更稳定,不易出现采集失败的情况。

# 二、分支选择的缘由

归纳起来,分支选择主要基于两点考虑:

  1. 兼容性 Python2/3 新旧系统并存时,既要照顾 Python3 主环境,也要让 Python2 老环境无痛运行。

  2. 稳定性 监控指标 该分支对核心指标采集支持完善,不会出现部分组件“有监控、有插件,但就是没数据”的情况。

# 三、环境准备

在源码分析前,环境准备是关键一步。

组件 推荐版本 用途说明
JDK 1.8 本次解析以 Python2 + JDK8 组合为主
Maven 3.6+ 构建与依赖管理,IDEA 会自动调用
Python 2.x/3.x 支撑脚本运行,分支已兼容两套环境
IDEA 2022+ 便于调试与模块级源码阅读

注意

Ambari 3.0 需要 JDK17,但 Ambari-Metrics 本体解读更适合在 JDK8 下进行,避免额外的兼容性干扰。 因此建议安装双版本 JDK(8 与 17),并在源码阅读时明确指定环境。

这里安装 JDK 的过程不再赘述,可参考本站其他章节

# 四、IDEA 打开与构建验证

源码下载完成后,用 IDEA 打开项目:

  1. 打开右侧 Maven 面板;
  2. 点击 Load 重新加载依赖;
  3. 等待依赖下载完成。

image-20250902184422145

验证方式

如果项目中没有出现大面积爆红,说明 Maven 依赖解析正确,环境初始化成功。

#Ambari#Ambari-Metrics#大数据监控#架构演进#开源项目
Ambari-Metrics 的组件分工
项目目录及模块解读

← Ambari-Metrics 的组件分工 项目目录及模块解读→

最近更新
01
[/metrics/metadata] — 元数据查询和使用 GET
09-12
02
[/metrics/metadata] — 请求完整链路解读
09-12
03
[/metrics/metadata] — 缓存数据装载 Phoenix
09-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式