监控和告警对于维护一个集群正常运转以及对集群进行调优排错等工作至关重要,由于KMR临时集群和常驻集群的使用需求不尽相同,因此我们采用不同的解决方案:
对于临时集群,KMR集成了通用的集群管理工具-Ganglia来对集群进行监控
对于常驻集群,KMR与金山云监控进行了对接,管理员可以在云监控页面查看集群的监控图表并对关键指标配置告警策略,同时我们集成了强大的集群管理工具ambari,可以对集群实现更加精细的监控和管理
另外,hadoop生态组件提供了较为丰富的web管理功能,您也可以通过控制台直接跳转查看
KMR临时集群中集成了Ganglia监控工具,用户可以通过控制台“集群详情”-“管理工具”-“Ganglia”进入
使用Ganglia监控集群状态
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的集群节点,主要用来监控系统性能,如:CPU 、内存和硬盘利用率、I/O负载、网络流量情况等,通过曲线很直观的了解到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
在KMR中,我们为您在集群中集成了Ganglia服务,您可通过“集群详情”-“管理工具”-“Ganglia”直接进入
Ganglia服务页面如下图所示:
KMR常驻集群通过Ambari管理工具来实现集群监控,Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。
请参考:Ambari官方文档
您可以通过控制台“集群详情”-“管理工具”-“Ambari控制台”进入
注意:对于ambari的操作可能会影响集群稳定性,我们仅开放了只读权限,您可以查看集群的监控和配置信息
Ambari服务页面如下图所示:
与集群日常监控信息查看不同,集群告警更加关注当集群服务或者节点失效时可以及时通知到相关人员及时处理。
KMR集群告警通过云监控服务来实现。
下图描述了KMR的告警逻辑
注意:所谓critical告警是指对用户的服务已经产生了影响的告警,因此我们建议在收到critical告警后请尽快进行处理。
1.在集群详情页点击“集群告警管理”,或者直接在控制台右侧导航栏切换到“云监控”页面
2.选择“联系人管理”配置联系人信息(如果已经配置了联系人,请跳过此步骤)
3.选择“告警管理” 创建告警规则。下面会以KMR为例介绍一下配置流程
配置项名称 | 解释 |
---|---|
规则名称 | 为配置规则设置名称,方便管理查看 |
产品类型 | 这里有所有金山云产品如KEC、KS3、KMR等 用户可以根据自己的需要选择相应的产品 |
实例组 | 为简化配置,用户可以将多个实例编组 可以在“云监控”-“实例组管理”中进行配置 |
实例 | 用户可以选择当前实例组中包含的所有实例 |
第二步已经配置了联系人信息和联系组信息,选择相应的联系人和联系组即可。
确认规则名称、产品类型、条件描述无误后,点击确定规则生效。
4.告警规则配置完成后,当集群服务发生critical问题时,会自动发送告警通知,可以同时在控制台和Ambari页面查看到详细的错误信息。
安装在 KMR集群上的 Hadoop 和其他应用程序会将用户界面发布在主节点上托管的网站,这些页面记录了各类集群服务的统计和监控信息,你可以直接通过“集群详情”-“管理工具”进入各个页面查看。
YARN ResourceManager
YARN ResourceManager管理工具可以查看集群运行的详细信息,包括节点信息、应用信息和调度信息等。
HDFS Namenode
HDFS Namenode用来查看HDFS的使用状况,包括NameNode和DataNode的具体信息。
OOZIE
Oozie是服务于Hadoop生态系统的工作流调度工具,Oozie工作流是放置在控制依赖DAG(有向无环图)中的一组动作,把多个Map/Reduce作业组合到一个逻辑工作单元中,来完成更大型的任务。
YARN HistoryServer
JobHistory是Hadoop自带的历史服务器,可以查看已经运行完的MapReduce作业记录,例如使用的Map数、Reduce数、作业提交时间、作业启动时间、作业完成时间等信息。
Spark History Server
运行Spark应用程序的时候,driver会提供一个webUI显示应用程序的运行信息,但是应用程序完成后,将关闭端口,即无法查看应用程序的历史记录。Spark History Server将运行完的应用程序信息以Web的方式提供给用户。