今天和大家一起学习下Ambari Metrics System
自从使用Ambari搭建好Hbase 集群后,系统就经常收到内存不足的告警,抱着试试的态度去分析了下背后的故事(其实是抱着一定要优化的心态去看的)
具体是什么占用这么多内存呢?
大家都知道,使用Ambari 搭建起Hbase集群后,使用jps 命令你会发现,后台起来了各种服务,如下图。
然后使用top 命令查看内存使用情况,发现ams 用户下的两个进程占用比较多的内存资源。
顺藤摸瓜,发现ams 主要是 Ambari Metrics,主要用来进行系统各项指标的监控收集和分析用的。
咱们找来了官网介绍:
Ambari Metrics System ("AMS") is a system for collecting, aggregating and serving Hadoop and system metrics in Ambari-managed clusters.
话不多少,咱们先看一下架构图
Architecture
通过上面图不难看出,Ambari Metrics System 主要有三个模块组成 Ambari Server 、Metrics Collector 、Metrics Monitors& Hadoop Sinks
各个模块的功能介绍如下:
Term | Definition |
---|---|
Ambari Metrics System (“AMS”) | The built-in metrics collection system for Ambari. |
Metrics Collector | The standalone server that collects metrics, aggregates metrics, serves metrics from the Hadoop service sinks and the Metrics Monitor. |
Metrics Hadoop Sinks | Plugs into the various Hadoop components sinks to send Hadoop metrics to the Metrics Collector. 各个服务的插件,用来收集Hbase 服务的运行状态 |
Metrics Monitor | Installed on each host in the cluster to collect system-level metrics and forward to the Metrics Collector. 机器上的守护进程,用来收集机器的系统运用状态信息 |