图4 Ambari整体架构图
Ambari Web: 用户交互界面,通过HTTP发送使用Rest Api与Ambari Server进行交互。
Ambari Server: Web服务器,用于和Web、Agent进行交互并且包含了Agent的所有控制逻辑,Server产生的数据存储在DB
中。
Ambari Agent: 守护进程,主要包含节点状态与执行结果信息汇报Server以及接受Server操作命令的两个消息队列。
Host: 安装实际大数据服务组件的物理机器,每台机器都有Ambari Agent服务与Metrcis Monitor守护进程服务。
Metrics Collector: 主要包括将Metrics Monitor汇报的监控信息存储到Hbase,以及提供给Ambari Server的查询接口。
Ambari整体管理集群方面以Ambari Server 为核心,维护着一个FSM有限状态机,包含平台中所有部署Agent并注册的节点、
部署的服务与组件的状态变化信息、配置文件并且持久化在Ambari Server端的DB中。对外一方面通过restApi接口方式与
Ambari Web交互,一方面接受来自Agent的定时心跳请求,所有交互信息中包含了节点状态、事件信息、动作命令中其中至
少一种,由Ambari Server统一协调命令和维护状态结果,然后给Agent下发的相关command,Ambari Agent接受命令执行相
关逻辑并返回状态结果。Ambari整体监控方面通过Ambari Server获取Ambari Metrics Collector中聚集后的从各个节点Ambari
Metrics Monitor上报的单节点监控指标数据,在Ambari Web中给出图形化的展示。
Ambari是HDP数据平台套件的一部分,HDP是Ambari管理集群的技术栈基础。HDP即Hortonworks Data Platform,是
Hortonworks完全开源以Yarn为核心整合Apache Hadoop技术的一个安全的企业级数据平台,HDP涵盖了几乎所有Hadoop的
数据离线处理技术,以及最新的实时处理技术满足用户需求,如下图所示,其2017年开源的HDP v2.6正好支持Hadoop
v2.7.3。
图5 HDP数据平台技术涵盖
Ambari支持对HDP的供应或者说Ambari基于HDP数据平台,下面是几个核心概念: