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 的演进过程
    • Ambari-Metrics 的分支研究
    • Ambari-Metrics 的编译成果
    • Ambari-Metrics 的组件分工
      • 一、前言
      • 二、Collector —— 指标存储与查询核心
      • 三、Monitor —— 节点级指标采集器
      • 四、Grafana —— 可视化展示层
      • 五、Hadoop Sink —— 桥接 Hadoop Metrics2
      • 回顾
  • Ambari-Metrics解读【简写AMS】

  • Metrics2协议解读

  • Hadoop-SINK剖析

  • Hbase-SINK剖析

  • Kafka-SINK剖析

  • 自定义组件接入监控

  • 其他监控方案

  • GOD-Ambari-Metrics
  • 试读&介绍
JaneTTR
2025-08-22
目录

Ambari-Metrics 的组件分工

# 一、前言

在 Ambari-Metrics 架构中,所有监控数据的采集、传输、存储与展示,都由四个核心组件协同完成:


<name>ambari-metrics-collector</name>
<name>ambari-metrics-monitor</name>
<name>ambari-metrics-hadoop-sink</name>
<name>ambari-metrics-grafana</name>
1
2
3
4
5

只有弄清楚这四个组件各自的定位与分工,才能理解 AMS 的整体运行机制。

# 二、Collector —— 指标存储与查询核心

ambari-metrics-collector 是整个监控体系的核心,它提供:

  • 数据接收:接收来自各类客户端(monitor、sink)的上报指标
  • 分布式存储:基于 HBase 实现时间序列数据存储
  • 统一查询接口:对外提供 REST API,供 Grafana 或上层应用读取

Collector 单点启动

如上图所示,即便只启动 Collector,Hadoop 生态的组件也能正常将监控数据上报。

# 三、Monitor —— 节点级指标采集器

ambari-metrics-monitor 运行在每个节点上,负责:

  • 采集 操作系统层面指标(CPU、内存、磁盘、网络等)
  • 定时上报至 Collector
  • 保证集群主机层级的数据全量覆盖

警告

如果节点 未启动 monitor,该节点的系统指标将缺失。

Monitor 进程

成功启动后,即可在 UI 中看到对应节点的数据:

节点指标展示

# 四、Grafana —— 可视化展示层

ambari-metrics-grafana 是 AMS 的默认可视化界面,提供:

  • 预置仪表盘(HDFS、YARN、HBase 等)
  • 基于 Collector 的 API 做数据查询
  • 自定义监控大屏

# 五、Hadoop Sink —— 桥接 Hadoop Metrics2

ambari-metrics-hadoop-sink 作用在 Hadoop Metrics2 框架中,它将 Hadoop 各守护进程(NN、DN、RM、NM 等)的监控数据转发到 Collector。

验证方式如下:

# 确认进程中加载了 sink 包
ps -ef | grep datanode
lsof -p <datanode_pid> | grep ambari-metrics-hadoop-sink

# 检查 Hadoop 日志,确认是否加载 TimelineMetricsSink
grep -i "TimelineMetricsSink" /var/log/hadoop/*/*.log
1
2
3
4
5
6

该截图可以看到,我们的 datanode 已经成功加载到对应的jar包了

image-20250829143721382

日志截图如下,可以看到 sink 成功加载并与 collector 建立连接:

Sink 日志验证

# 回顾

我们可以清晰地看到 AMS 的整体架构链路:

  • Monitor → 采集节点级指标
  • Hadoop Sink → 采集组件级指标
  • Collector → 存储与查询
  • Grafana → 展示与告警

这一套设计,既能覆盖系统层面,又能覆盖 Hadoop 生态组件,最终通过统一的 Collector 实现集中存储和查询。

后续章节内容

我们将结合 RPM 包的拆分维度,深入分析 Collector/Monitor/Sink 的启动脚本与内部调用逻辑。

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