通过云监控CloudMonitor实时捕获EMR集群的状态变化

简介: 通过结合CloudMonitor以及FC,可以实时捕获EMR集群的生命周期变化,如集群的创建和停止,扩容和缩容以及其他类型的集群状态变更等。

作者:锦琛@阿里云


引言

开源大数据平台 E-MapReduce(简称“EMR”)是云原生开源大数据平台,向客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎。


云监控(简称“CloudMonitor”)是一项针对阿里云资源和互联网应用进行监控的服务,为云上用户提供开箱即用的企业级开放型一站式监控解决方案。


函数计算(简称“FC”)是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。


通过结合CloudMonitor以及FC,可以实时捕获EMR集群的生命周期变化,如集群的创建和停止,扩容和缩容以及其他类型的集群状态变更等。


本文演示如何捕获EMR集群状态变更(我们以杭州区域为例)并发送到当前常用的“钉钉”手机客户端,其他服务场景请酌情参考。


关键字

E-MapReduce,CloudMonitor,函数计算,事件通知,钉钉


处理流程

这是我们设计的EMR实时状态在各个产品之间传递链路图,从图上可以看出,当EMR发生状态变更时(如启动集群,停止集群,创建节点组,对节点组进行扩缩容操作等)系统会产生事件,事件消息送到CMS后会触发告警,CMS支持函数计算FC,告警触发后会触发我们准备好的FC函数,从而解析JSON格式的消息内容并发送给“钉钉”手机客户端(客户也可以基于公司内部的聊天工具进行集成,或者定义下一步的操作,从而实现基于事件的自动化告警处理和运维等,关于这一块,本文章暂不做延展说明)。

image.png


钉钉配置

配置钉钉群机器人必须使用电脑版的钉钉,登录电脑版钉钉创建钉钉群(此过程略,例如创建后的群名为!!!APM告警),然后点击群右上角的“设置”,然后点击“智能群助手”,如下图所示:

image.png

然后选择“添加机器人”,如下图所示:image.png

添加关键字“E-MapR”,其他关键字可自行添加,如下图所示:

image.png

在接下来的页面中会出现一个Webhook调用的URL,点击“复制”,类似如下

https://oapi.dingtalk.com/robot/send?access_token=aabbccdd

后面我们设置环境变量的时候将用到这一串aabbccdd

image.png


函数计算配置

打开函数计算FC的控制台(点击这里),选择左侧菜单的“服务与函数”,然后在右边的窗口中选择“创建服务”,如下图所示:

image.pngimage.png

创建后点击进入服务,随后点击右侧窗口“创建函数”,如下图所示:

image.png

选择“通过zip包上传代码”,其中代码的详细地址如下(也可以手工下载此文件,然后从本地上传):

https://emr.oss-cn-hangzhou.aliyuncs.com/best_practice/cms/function_ding.zip

上传后,在代码TOKEN处填写创建的钉钉机器人token,如下图所示:

image.png

保存后点击部署代码,如果没有报错,表示部署成功。


云监控配置

打开云监控的控制台(点击这里),选择左侧菜单的“系统事件”,然后在右边的窗口中选择“创建报警规则”,如下图所示:

image.png

弹出创建窗口后,在产品类型处填写“E-MapReduce”,事件名称填写“节点组扩缩容成功、集群创建成功、集群释放成功、节点组升配成功”为例,资源范围选择“全部资源”(也可以选择应用分组选择您想要监控的集群id),选择函数计算并选择之前配置的服务和函数名,如下图所示:

image.png

点击确认后,完成配置,并确保规则生效,如图所示:

image.png


测试验证

打开EMR的控制台(点击这里),部署一个DataLake的EMR集群即可(过程略)。


正确返回

因为订阅了创建事件,我们的手机客户端就可以收到类似如下的消息提醒(集群状态 STARTING-> RUNNING),如下图所示:

image.png


错误诊断

如果启动集群过程中并没有收到对应的提醒,请首先确认对应的环境,查看函数计算中函数调用日志有没有错误,如下图所示:

image.png


扩展

经过上面的文档指引和动手实验,我们基于EMR集群的生命周期管理(如集群创建,停止,集群扩缩,缩容等)都会有对应提醒,其实只需要修改文件“function_ding.zip”里面对应的解析的JSON文件的内容,这个流程可以复制到别的场景,例如ECS的相关操作。


除了钉钉告警之外,还有更多的用法,比如将数据写入oss,写入数据库等等,期待您的使用。





钉钉扫码进群,了解更多详情

image.png

相关实践学习
RocketMQ监控/告警一站式搭建应用
RocketMQ监控/告警一站式搭建演示
目录
相关文章
|
7月前
|
存储 SQL 分布式计算
阿里云全托管flink-vvp平台hudi connector实践(基于emr集群oss-hdfs存储)
阿里云全托管flink-vvp平台hudi sink connector实践,本文数据湖hudi基于阿里云E-MapReduce产品,以云对象存储oss-hdfs作为存储
|
弹性计算 资源调度 运维
视频-《 EMR 集群运维与排障》|学习笔记(四)
快速学习视频-《 EMR 集群运维与排障》
171 0
视频-《 EMR 集群运维与排障》|学习笔记(四)
|
分布式计算 Hadoop 大数据
自建Hadoop集群 VS 阿里云EMR,差距居然这么大?
本期将为大家带来开源大数据平台E-MapReduce与自建Hadoop集群对比,一起来看看吧~
952 0
自建Hadoop集群 VS 阿里云EMR,差距居然这么大?
|
分布式计算 Hadoop 大数据
第3期:自建Hadoop集群 VS 阿里云EMR,差距居然这么大?
本期将为大家带来开源大数据平台E-MapReduce与自建Hadoop集群对比,一起来看看吧~
817 1
第3期:自建Hadoop集群 VS 阿里云EMR,差距居然这么大?
|
SQL Java Apache
【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤
以测试集群版本为例(EMR-4.4.1)—— Flink SQL Client 集成 Hive 使用文档
【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤
|
消息中间件 弹性计算 分布式计算
EMR按集群费用分摊 -- 传播标签实践
E-MapReduce是构建于云服务器ECS之上,利用开源大数据生态系统,包括Apache Hadoop、Apache Spark、Kafka、Storm,为用户提供集群、作业、数据等管理一站式大数据处理分析业务。如果对于集群维度进行分账,包括集群里的实例及存储。
1319 0
EMR按集群费用分摊 -- 传播标签实践
|
消息中间件 SQL 分布式计算
EMR集群安全认证和授权管理
介绍EMR高安全集群如何使用Kerberos和Apache Ranger进行鉴权和访问授权管理
EMR集群安全认证和授权管理
|
弹性计算 分布式计算 安全
自建 Hadoop 数据迁移到阿里云EMR集群
客户在 IDC 或者公有云环境自建 Hadoop 集群,数据集中保存在 HDFS文件系统用于数据分析任务。客户在决定上云之后,会将自建 Hadoop 集群的数据迁移到阿里云自建 Hadoop 集群或者 EMR 集群。本实践方案提供安全和低成本的 HDFS 数据迁移方案。
自建 Hadoop 数据迁移到阿里云EMR集群
使用EMR Spark Relational Cache跨集群同步数据 | 6月6号云栖夜读
在本刊开篇文章中,讲述了:Relational Cache是EMR Spark支持的一个重要特性,主要通过对数据进行预组织和预计算加速数据分析,提供了类似传统数据仓库物化视图的功能。除了用于提升数据处理速度,Relational Cache还可以应用于其他很多场景,本文主要介绍如何使用Relational Cache跨集群同步数据表。
3585 0
|
SQL 分布式计算 HIVE
使用EMR Spark Relational Cache跨集群同步数据
Relational Cache是EMR Spark支持的一个重要特性,主要通过对数据进行预组织和预计算加速数据分析,提供了类似传统数据仓库物化视图的功能。除了用于提升数据处理速度,Relational Cache还可以应用于其他很多场景,本文主要介绍如何使用Relational Cache跨集群同步数据表。

相关产品

  • 开源大数据平台 E-MapReduce