Ambari-Metrics 的分支研究
# 📌 先看结论
不同系统上的运行效果对比如下:
Ubuntu 22 运行效果
Rocky 8 运行效果
CentOS 7.9 运行效果
小结
- 三大系统均已验证可运行
- 当前本站发布的包涵盖 el7 / el8 / Ubuntu,均基于同一分支魔改
- 重点:组件并非越新越好,稳定性才是第一优先级
# 🔎 我们的分支选择
当前所有安装包均基于以下分支进行适配与优化:
dependabot/maven/ambari-metrics-common/com.google.guava-guava-32.0.0-jre
- 仓库地址:
https://github.com/apache/ambari-metrics.git
1
2
3
2
3
# ❓ 为什么选择 dependabot 分支,而不是 master 分支?
在社区里,常见的两个主要分支是 dependabot 分支 和 master 分支。
很多人会纠结:到底该选哪个?下面我们逐一拆解。
# 一、dependabot 分支
# 1. 特征
- Grafana 插件版本固定在 9.3.2
- Monitor 使用 Python2,通过
psutil
采集系统指标 - 仅需轻微魔改,就能在 Grafana 环境中稳定运行
# 2. 实际优势
优势
- 成本低:无需大规模改造,稍微修改即可上线
- 经验多:社区已有长期使用,踩过的坑有限
- 性价比高:适合个人研究、中小团队和学习环境
# 二、master 分支
# 1. 潜在问题
- Python3 采集兼容性不佳
- Monitor 改为基于 Python3,但部分系统指标采集报错
- 不同 Linux 发行版下差异更大
- Grafana 插件适配问题
- ambari-metrics 插件在 Grafana 9+ 环境中存在适配问题
- 有的面板直接空白或报错
- 插件失效案例
- 我们曾分析过 Infinity 方案
- Infinity 可以替代,但仅适合临时救火,长期并非最佳解
# 2. 风险评估
风险
- 兼容性差:Python3 监控采集不成熟
- 适配不稳定:Grafana 插件与 9+ 内核存在断层
- 维护成本高:贸然跟随 master,容易遇到不可控的 bug
# 📊 三、对比总结
维度 | dependabot 分支 | master 分支 |
---|---|---|
监控采集 | Python2 + psutil,稳定 | Python3,部分指标报错 |
Grafana 插件 | 9.3.2,可正常使用 | 9+ 版本适配不稳定 |
上手成本 | 低,轻改即用 | 高,需二次开发 |
适用场景 | 学习 / 中小团队 / 快速落地 | 商业支持团队 / 企业研发 |
风险水平 | 低 | 高 |
小结
- 要稳定可用 → 选 dependabot 分支
- 要追最新特性 → 选 master,但需承担风险和成本
# 🎯 我们的选择:旧版本 = 稳定
初衷
我们的目标是:用最小的精力,获得最高的回报。
不仅知其然,还要知其所以然。
- 追求最新:可以考虑官方商业版或有预算的方案
- 追求稳定:本站选择旧分支,因为它“简单、够用、风险可控”
- 01
- [/metrics/metadata] — 元数据查询和使用 GET09-12
- 02
- [/metrics/metadata] — 请求完整链路解读09-12
- 03
- [/metrics/metadata] — 缓存数据装载 Phoenix09-12