TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 深度专题

  • Bigtop 方法论

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

    • 试读&介绍

    • Ambari-Metrics解读【简写AMS】

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

      • AMS-Collector表结构实战

      • AMS-Collector-元数据-接口实战

      • AMS-Collector-指标查询-接口实战

      • AMS-Collector-普通指标写入-接口实战

      • AMS-Collector-聚合指标写入-接口实战

  • Ambari Plus 思考

  • Redis集成实战

  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Ambari Metrics
  • Ambari-Metrics解读【简写AMS】
JaneTTR
2025-09-01
目录
背景说明
一、源码获取与工具准备
二、分支选择的缘由
三、环境准备
四、IDEA 打开与构建验证

源码下载及环境初始化

# 背景说明

在前文中我们已经提到,从 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-Metrics#源码解析#Ambari#监控运维
Ambari-Metrics 的组件分工
项目目录及模块解读

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

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式