Ambari 功能简介

背景

最近在做关于Hadoop集群的可视化部署相关的调研,发现了Ambari这个有趣的东西,在使用的过程中,整理了一部分功能列表,在此分享。欢迎光顾 我的博客

Ambari简介

Ambari是Hortonworks开源的Hadoop平台的管理软件,具备Hadoop组件的安装、管理、运维等基本功能,提供Web UI进行可视化的集群管理,简化了大数据平台的安装、使用难度。

功能列表

操作级别:

  • Host Level Action(机器级别的操作)
  • Component Level Action(模块级别的操作)

基于角色的用户管理,角色分为:

  • Cluster User。 查看集群和Service的信息,如配置、service状态、健康状态等。Read-only
  • Service Operator。 能够操作Service的生命周期,如启动,停止,也可以进行一些如Rebalance DataNode和YARN refresh的操作
  • Service Administrator。 在Service Operator的基础上增加了配置service,移动NameNode,启用HA等操作
  • Cluster Operator。 在Service Administrator的基础上增加了对hosts和components的操作,如增加,删除等
  • Cluster Administrator。集群的超级管理员,拥有无上的权利,可以操作任何组件。

Dashboard 监控

  • Roll Start功能。根据Service的依赖关系,按照一定的顺序启动每个Service。比如HBase依赖HDFS和Zookeeper,Ambari会先启动HDFS和Zookeeper,之后启动HBase。如图所示
  • 关键的运维指标(metrics)–metrics 是“度量,指标”的意思
  • 在左侧的 Service 列表,中间部分是 Service 的模块(Component)信息,也就是该 Service 有哪些模块及其数目。右上角有个 Service Action 的按钮,包括service的启动、停止、删除等操作。
  • Quick links(导向组件原生管理界面)

Alert介绍

  • Alert 告警级别 Status:
    OK 、Warning、Critical、Unknown、None
  • Alert 告警类型:
    WEB、Port、Metric、Aggregate 和 Script
  • 表 1. Ambari 中的 Alert 类型对比
类型 用途 告警级别 阀值是否可配置 单位
PORT 用来监测机器上的一个端口是否可用 OK, WARN, CRIT
METRIC 用来监测 Metric 相关的配置属性 OK, WARN, CRIT 变量
AGGREGATE 用于收集其他某些 Alert 的状态 OK, WARN, CRIT 百分比
WEB 用于监测一个 WEB UI(URL)地址是否可用 OK, WARN, CRIT
SCRIPT Alert 的监测逻辑由一个自定义的 python 脚本执行 OK, CRIT

Hadoop代表组件功能说明

1)HDFS

  • 启动、停止、重启HDFS,也支持HDFS的删除,前提是删除依赖HDFS的其他service
  • 高级配置
    支持对core-site.xml、hdfs-site.xml的高级配置
  • 下载配置文件
  • 状态查看
    NameNode和SNameNode的健康状况以及所在的节点、硬盘使用率、块的状态(丢失、冲突的个数)
  • 文件查看
    嵌入了HDFS原生的文件目录查看功能,没有一键上传、下载文件的功能
  • 日志查看
    日志查看可以通过QuickLinks中导向HDFS原生日志查看Web UI界面,没有经过界面的优化,日志查看也没有辅助功能(如检索)
  • 移动NameNode、SNameNode
  • Rebalancing HDFS
    使得DataNodes上的块分布均匀
  • NameNode UI
    通过QuickLinks导向HDFS原生UI
  • HA
    一键配置NameNode的高可用,使用JournalNode、NFS为共享存储

2)Zookeeper

  • 启动、停止、重启Zookeeper集群
  • 状态查看
    Zookeeper Server和Client的健康状况,所在的节点
  • 高级配置
    zoo.cfg、日志输出格式(log4j的配置)
  • 添加Zookeeper Server节点
  • 下载配置文件

3)HBase

  • 启动HBase集群,启动RegionServer,停止集群,删除HBase集群
  • 添加HBase Master节点
  • 状态查看
    HBase Master、RegionServers的状态及其所处节点,master启动时间,平均负载(regions/regionsServer)
  • 高级配置
    HBase Master、RegionServer、Client的内存限制、心跳时间等。可以启用Kerberos(前提是安装该Service),也可以开启Phoenix SQL
  • 日志查看
    日志查看可以通过QuickLinks中导向原生日志查看Web UI界面
  • Master UI界面
    通过QuickLinks导向HDFS原生UI

4)Kafka

  • Kafka的启动、停止、重启,Brokers的重启,Service的删除
  • 高级配置
    对Kafka Broker、Producer、Consumer的配置。Broker支持连接参数设置、Topic配置、日志配置等,
  • 状态查看
    Broker的状态、所在节点位置,结合Ambari Metrics可以查看更多状态,如Topics、Controller、Replica

Ambari使用感想

Ambari通过HDP将Hadoop的组件进行集成,通过栈的形式提供Service的组合使用,它主要解决的问题如下:

  • 简化了部署过程,在HDP栈中支持的Service只需要图形化的安装即可,可以方便的指定master所在的节点,使集群快速运行起来
  • 通过Ambari Metrics实现集群状态的监控,并通过集成Grafana进行数据的展示(CPU、内存、负载等)
  • Service的高级配置。集群部署之后,可以方便的通过dashboard进行参数的修改(如HDFS的core-site等)
  • 快速链接。Ambari提供快速导向Hadoop组件原生管理界面的链接
  • 节点的扩展。如HBase Master的增加。
  • 可定制的Alert功能。Ambari的报警信息可以自定义,使得用户可以根据自己的需要,设置哪些情况下需要报警,哪些不需要。
  • 增值功能。如HDFS的Rebalance DataNode、NameNode的HA等
  • Ambari自身的用户管理,基于RBAC赋予用户对Hadoop集群的管理权限。角色分为

Ambari并没有对Hadoop组件进行过多的功能集成,如日志分析等,只是提供了安装,配置,启停等功能,尽量保持了跟原生Hadoop组件的隔离性,对于该组件的具体操作,通过Quick Links 直接导向原生的管理界面(如HBase Master UI),它的做法保持了对于Hadoop组件的低侵入性。

上一篇:关于对php-fpm的压力测试


下一篇:Less使用手册