视频-《 EMR 集群运维与排障》|学习笔记(四)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
简介: 快速学习视频-《 EMR 集群运维与排障》

开发者学堂课程企业运维训练营之大数据 EMR 原理与实践视频-《 EMR 集群运维与排障》学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1242/detail/18464


EMR 集群运维与排障


七、运行作业异常排查

同时在我们数据开发过程中,我们也是会遇到运行作业的异常排查,这里我提供了一个案例,常见就是我们把任务提交到我们的 YARN 上面来进行运行。

图片1.png

如果说一旦出现异常,比如这个异常我们可以通过这个日志通过 YARN UI 来看到具体任务失败,然后具体的日志来进行分析有两种一种是通过 YARM UI 的方式来获取具体的日志,或者是通过 YARN ID的方式来获取日志来进行排查通过日志的定位就会发现这个是很简单的demo ,就是我查询的表不存在被删掉了导致了任务的报错。这个流程其实和组件排查起来也是有类似的,就是说我提交的 YARN 我可以获取 YARN 的appID对于运维同学分管一个ID来获取到具体的日志,通过获取日志来分析到具体日志中报错的信息到底是什么,最终来调整具体的任务或者是 SQL来进行规避这个错误这个是运行作为排查的一个大致流程。以上是涉及到 EMR 的管控的介绍以及组件合作排查介绍。

 

八、EMR 集群弹性伸缩

于 EMR 来说,除此之外我们还是提供了一个集群的弹性伸缩的功能。那为什么这里要讲一下弹性伸缩,或者是对于我们有什么重大的用处?我先说说一下背景,就是包括 EMR 弹性伸缩,是我们的另一个云产品叫 ECS 弹性伸缩。它的应用场景主要是什么?比如我们一些大型的网站或者是大型的服务是多台机器部署的,多台机器如果说有晚高峰,比如说8点的高峰到10点的高峰,我不可能一下子把所有的地区都扩容到满足晚高峰的方式,所以这里就有弹性伸缩

图片1.png

对于弹性伸缩可以配置定时的扩容,对于用户来说是节省成本的,同时是满足了用户的业务需求的。因此在 EMR 弹性伸缩中也是运行了这一点,因为在很多公司的数据计算过程中,它很多的比如说数据计算大多在凌晨,因离散数据,凌晨的时刻高峰我的集群可能本来就有10个节点,但是10个节点是不满足计算资源的,所以我要扩容如果说手动的扩容,每天都要定时自己手动扩容这个很麻烦,所以提供了 EMR 自动的一个弹性伸缩来实现自动扩容的具体的实现逻辑就是 EMR 提供两个指标,一个是根据定时来伸缩,一个根据指标,比如说集群的负载一样的资源的剩余量来进行负载,根据指标来开始伸缩,这是第一步。第一步有可能是根据资源的使用量来监控,还有就是时间定时来进行伸缩;第二步执行完之后开始创建一个伸缩活动,这个伸缩活动就主要是来执行下面的所有包含弹性扩缩容过程中所有的操作第三步就是获取我们配置的一个伸缩规则伸缩配置等等这些信息开始进行一个伸缩,比如扩一次加多少台 ECS 、创建什么类型的 ECS 等等这些信息第四步就是执行这个伸缩活动,创建对应的实例,并在对应的创建出来 EMR 节点上部署我们 EMR 节点的服务,启动服务,同时把这个节点加入到我们的集群中第五步就是一系列完成之后,就是完成了整个弹性伸缩,同时启动冷却伸缩组,这个这里是 EMR 弹性伸缩的一个大致流程和背景。

图片1.png

那具体 EMR 的实现具体实现就是有两种,一种是按时间伸缩,用 ESS 的定时任务来进行伸缩负载伸缩就是链路比较长,一个是我们集群服务要采集指标,把这个指标传到我们sls里面,然后触发云监控,因为有些指标和云监控是相通的,包括刚才告警的东西,这些指标都是一致的,触发之后会回到我们的 EMR 接口,然后调用 ESS 的接口来进行那个操作同时在这个弹性伸缩过程中也体现了优雅下线为什么会体现优雅下线的操作。这种情况主要是用在弹性缩容的过程中,比如说我们这个节点正在跑任务,如果说立马把它下掉,那个任务肯定会是失败的。至少来说这个 task 比如  Spark task 的任务,在把这个节点下掉之后 task 肯定会失败,所以提出了一个优雅下线的功能。优雅下线功能是我设置之后,比如说我设置10分钟优雅等待下线,那在开始执行之后,我这个节点是不接受所有其他的任务,我就等待10分钟把这个节点上所有的务跑完之后,再把这个节点进行下线那这样对于用户的任务是比较人性化的,因为等10分钟可能每一个任务都完了。还有一种情况也是很多用户不明白的,就是我等了10分钟任务没结束该怎么办?这是优雅下线的另一个机制,就是说没下线的话,我会把这个任务强制结束掉,然后你需要在你的任务中配置同事的一个机制,把当前这个 task节点分配到其他节点进行运行所以它等待时长结束之后就会主动的把这个节点下掉,也可能会导致任务的失败,所以要依赖于具体的代码或者是业务端去增加从事的机制的。另外弹性告警也是提供了一个弹性扩缩容告警方式,能及时的通知我们弹性伸缩的状态。这里我给大家演示一下在这里的使用

回到我们的控制台在节点管理这里,我这边已经创建了一个 task 组,创建的时候因为弹性伸缩就是这两种方式,产站式和按量付费因为你用完之后会随时释放的,告警肯定是不合适的。我这里就设计了一个弹性伸缩组,可以看一下弹性伸缩扩缩容是怎么设置的,按时间设置负载设计

图片1.png

我可以测试一下负载设计这指标比较多,有 YARN 资源的指标主要是 YARN 资源的指标伸缩出来 task 主要是计算节点,所以根据这些指标可以设置。这里我可以设计一个使用的内存来作为指标,5分钟什么名字,比如说大于100就触发一个扩容。冷却时间就是在这个准确时间内,我扩充完之后,在这个冷却时间内不允许下次的扩容动作的,需要等待冷却时间后进行执行。这里就可以进行了,如果说我的集群出现匹配到设计的记录,就可以进行一个弹性扩容的操作

这里还是有一个问题,就是说扩缩容我是否会支持多个扩缩容的请求?这也是用户反馈常遇到的一个问题。比如说我设置了一个弹性缩容是扩容的状态,同时也是设置了一个缩容的状态。比如按时间或者是按负载缩容如果说上面是按时间来扩容,但下面是按负载缩容,那就会假如在这个时间点,我执行了扩容的操作,但是这个时间点它的集群的指标是符合缩容的操作的,就会产生冲突的假如说扩容先开始的,那这时候缩容再去请求的话,就是按照这个指标去缩容的话就会出现了异常就是缩容会失败,这也是很多用户在使用过程中出现一个问题,这两个不能是冲突的,就在同一时间扩缩容,只能存在一个伸缩活动。

好的,以上就是对 EMR 弹性伸缩的重点的介绍,那么在我们企业过程中,在节约成本同时满足也有大批海量数据的计算的情况下, EMR 弹性伸缩有必要的。

 

九、总结

以上是整个本次课程介绍,现在进行这个课程的回顾。

图片1.png

首先管控平台我们在开始之前提了一个问题我们 EMR 提供了哪些便利的运维工具从管控平台从监控和告警这里进行讲解,其实是大家可以有一个很清晰的理解的,比如说我们 EMR 提供哪些功能,以及开源组件的UI是怎么使用哪些关注重点。然后就是我们的 EMR 提供了哪些监控服务,以及对于这些监控指标,通过告警的方式来通及时的通知到我们的运营同学。第二个问题就是如果说一旦组件服务出现异常或者是任务出现异常,那我按照哪个流程或者严格意义上的标准来进行排查,我能找到具体的报错来进行快速的恢复,这个也是进行讲解的首先比如说组件、任务的,我们可以告警来通知到这个我们集群的服务的异常。然后第二步就是根据这个异常来实时的看一下,找到这个组件的启动或者是停止的日志,或者是运行任务的日志,来通过这个日志来获取具体的报错信息。第三步就是通过分析这个报错信息,结合我们一些常见的 FQ 或者是网上开源的一些报错的一个警示来进行快速的调参或者修改配置来进行快速的恢复。这两个部分可以总结起来覆盖到我们课程开始之前的一个问题。第三部分主要是介绍了 EMR 性伸缩

以上是整个我的课程的讲解下次课程的预告主要是集中在我们的数据开发方面。

图片1.png

数据开发我们重点介绍一下 DataWorks ,它是全面的一个很强大的数据治理和数据集成的平台,那在EMR上面如何使用 DataWorks,更好的使用DataWorks进行全链路的数据开发。下节会讲到主要是涉及到DataWorks我在 EMR 提供了哪些产品优势,有了这种产品优势产品能力,相对于他的平台,基于 HADOOP 集群的开发,有哪些产品优势,我们会讲最后是一个实验,就是DataWorks产品的演示,进行数据分析数据计算的一个演示 demo。

好的,感谢大家来听此次的一个课程培训本次的课程先到这里。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
7月前
|
存储 运维 安全
2024-3-18隐语学习笔记:数据可信流通,从运维信任到技术信任
数据要素可信流通,重构技术信任体系。信任四要素:身份可确认,利益可依赖,能力有预期,行为有后果。外循环中四要素遭到破坏,导致信任降级甚至崩塌:责任主体不清,能力参差不齐,利益诉求不一致,责任链路难追溯。数据可信流通 需要从运维信任走向技术信任。
|
2月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
52 0
|
4月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
111 2
|
4月前
|
存储 运维 Shell
运维.Linux.bash学习笔记.数组及其使用
运维.Linux.bash学习笔记.数组及其使用
45 0
|
5月前
|
运维
会员系统功能售卖之一之学习资源,余老师的优点PTF做的好,公众号做的好,自媒体运维的好,教学视频类网站,学习自媒体运维可以多看看别人视频,讲课不会讲可以用音频转文字看看人家是怎样讲的,可以在网站上视频
会员系统功能售卖之一之学习资源,余老师的优点PTF做的好,公众号做的好,自媒体运维的好,教学视频类网站,学习自媒体运维可以多看看别人视频,讲课不会讲可以用音频转文字看看人家是怎样讲的,可以在网站上视频
|
7月前
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
960 1
|
7月前
|
编解码 运维 Cloud Native
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
407 1
|
域名解析 缓存 运维
【运维知识进阶篇】集群架构-Nginx性能优化 (二)
【运维知识进阶篇】集群架构-Nginx性能优化 (二)
158 0
|
缓存 运维 网络协议
【运维知识进阶篇】集群架构-Nginx性能优化 (一)
【运维知识进阶篇】集群架构-Nginx性能优化
232 0