本篇文档主要将已知的优秀ambari分析文档进行整合,并补充部分个人见解。
一。Ambari 架构
Ambari 整体架构图
由图中可以看出,主要有4部分:
Brower:指的是前端,前端通过 HTTP 发送 Rest 指令和 Ambari Server 进行交互。
Ambari Server:是一个 web 服务器,开放两个端口,分别用来和前端、Agent 进行交互。从图中也可以看出,Ambari Server 的数据存储在 MySQL 中。
Metrics Collector:是一个 web 服务器,提供两个功能,一方面将 Metrics Monitor 和 Metrics Sink 汇报上来的监控信息存储到 HBase 中,另一方面提供监控信息查询接口,供 Ambari Server 进行查询。
Host:实际安装大数据服务的主机,可以有多台。从图中可以看出,每台主机都安装有一个 Ambari Agent 服务和 Metrics Monitor 服务,有些组件如果需要更详细和特有的监控信息,可以集成相对应的 Metrics Sink(比如HDFS的 Metrics Sink 可以监控空间的使用情况)。
两条业务线:
核心业务:集群的统一部署、管理以及基本的监控(比如组件的存活情况)都是由这条线来完成的,由前端、Ambari Server 和 Ambari Agent 组成。
前端提供可视化界面,发送操作指令;Ambari Server 维护着整个集群的状态;Ambari Agent 执行具体的指令去操作服务和组件,而且会通过心跳汇报 Host 和服务的状态信息。
Metrics 监控业务:提供详细的监控功能,由 Metrics Collector、Metrics Monitor、Metrics Sink 组成。
Metrics Collector 存储监控信息,并提供查询接口;Metrics Monitor 主要负责收集并汇报 Host 相关的指标,比如主机的 CPU、内存、网络等;Metrics Sink 负责收集并汇报组件的相关指标,比如该组件的 CPU 使用率,内存使用情况等。
Metrics 监控业务业务线已经初步理清楚。