阿里云EMR2.0平台:让大数据更简单

摘要:本文整理自阿里云资深技术专家李钰(绝顶)在 阿里云EMR2.0线上发布会 的分享。本篇内容主要分为三个部分:
1.EMR 平台概述
2.EMR2.0 新平台核心能力
3.总结

一、EMR 平台概述

EMR 平台是开源大数据的云原生运行环境,阿里云EMR 根据云原生的特点,在弹性伸缩、稳定性、智能化和研发效能四个方面进行了大量的功能优化:

  • Elasticity 弹性伸缩,算力按需申请释放,突破IDC物理限制;
  • Stability 稳定性,故障节点自动替换补偿,关键事件自动告警;
  • Intelligence 智能化,智能探查资源浪费,预警集群潜在风险;
  • Efficiency 研发效能,业务高效开发调试,作业一键调度上线。

二、EMR2.0 新平台核心能力

Elasticity 弹性

基于时间的弹性伸缩能力

  • 弹性规则:定时增加或者减少 ECS 实例数量;
  • 适用场景:业务负载变化存在时间周期性;
  • 成本节省:通过采取这种策略,与预置固定资源相比可以节省大量资源;使用抢占式实例可以进一步降低成本;
  • 使用方式:在节点组上设置扩容规则的时候,选择按时间扩容;支持以下设置:执行频率和执行时间;规则的有效期;重试过期时间;单次扩容的节点数等。

基于指标的弹性伸缩能力

  • 弹性规则:通过预设的基于负载指标的规则,动态调整 ECS 实例数量;
  • 适用场景:业务负载动态变化,无固定时间周期性;
  • 成本节省:通过采取这种策略,可以动态的适应业务负载的变化;使用抢占式实例可以进一步降低成本;
  • 使用方式:在节点组上设置扩容规则的时候,选择按负载扩容;支持以下设置:集群负载指标(比如“YARN 资源队列 pending 应用数”);指标统计周期和统计规则;重复几次后扩容;单次扩容的节点数;冷却时间等。

支持抢占式实例

  • 能力:支持实例规格筛选,单节点组可选择多达10种不同规格;成本优化策略支持自动选取低价实例规格出价;
  • 效果:生产实证可降低80%+成本;典型客户案例支撑;
  • 使用方式:
    • 创建抢占式实例节点组:在集群创建完成后,新增抢占式实例的节点组;
    • 选择实例规格:
      • 节点组的配置中选择抢占式实例规格,最多可以选择十种规格,可以根据每种规格的释放率和折扣率进行取舍;
      • 同时也支持按照资源筛选规格,比如:4核16G;
    • 支持两种不同的策略:
      • 优先级策略,节点组所有实例都必须使用抢占式实例,然后按照设定的优先级顺序申请抢占式实例;
        • 优势:最大化的降低成本;
        • 劣势:抢占式实例库存不足时,业务无法及时获取到所需资源;
      • 成本优化策略,会智能的优先使用抢占式实例,在抢占式实例库存不足时会补充按量实例;
        • 优势:在及时响应业务资源需求和综合成本上达到较好的平衡。

性能大幅提升

EMR新平台相比于老平台在性能上得到了大幅提升,主要体现在以下三个方面:

a. 高并行能力

  • 节点组内和多节点组间均支持并行扩容
  • 支持缩容期间并行扩容,支持突发业务变化

b. 快速响应能力

  • 更高的弹性速度,100节点扩容时间<2分钟
  • 更快的感应速度,指标检测周期<30秒;

c. 大规模服务能力

  • 单次支持扩容节点数>1000;

下图中右边的柱状图显示了 EMR1.0 和 EMR2.0 平台弹性扩容速度的对比,可以看到,EMR2.0 新平台对于不同规模的弹性扩容速度都可以稳定的控制在两分钟之内,扩容时间不会随扩容节点数增加线性增长。

Stability 稳定性

支持节点故障容忍和补偿

EMR新平台支持节点故障容忍和补偿,主要体现在两个方面:

a. 故障节点不影响扩容

  • Core/Task 节点 CPU 打满不影响扩容;
  • Core/Task 节点 OS Hang 不影响扩容;
  • Core/Task 节点宕机不影响扩容;

b. 计算节点故障自动替换补偿

  • Task 节点 OS Hang 支持自动补偿;
  • Task 节点磁盘满支持自动补偿;
  • Task 节点网络问题支持自动补偿;

节点故障容忍和补偿需要手动开启。根据后台统计,在开启后,集群全场景稳定性可提升1个9。

更加全面的服务巡检和事件通知

a. 服务巡检

  • 集群服务页面可以看到所有的大数据引擎服务,以及每个引擎组件的健康状态;
  • 针对不同组件的健康检查项进行持续巡检,并实时上报;
  • 帮助用户及时发现和解决问题;

b. 事件通知

  • 在集群监控页面,增加了事件中心,事件可按时间/类型/等级进行筛选;
    • 比如:在下图右下的截图中显示Critical等级事件“Spark_HistoryServer组件健康状态异常”,用户可以筛选Critical级别事件,并进行针对性的处理;
  • 关键性事件可订阅实时告警,从而更及时的发现问题并进行处理;

Intelligence 智能化

EMR 新平台智能化能力主要体现在 EMR 新产品 EMR Doctor 的能力。EMR Doctor 致力于帮助用户更好的进行大数据集群的管理和运维。

EMR Doctor 通过集群日报和实时检测的功能达到避免资源浪费、风险提前预警和实时分析建议的核心效果。

EMR Doctor 避免资源浪费

a. 通过健康检查服务的集群日报功能查看集群是否存在资源浪费;

  • 针对集群日报中不健康的报告可以点击“查看报告”;
  • 比如:在下图左下的截图中显示“内存利用率较低”;

b. 通过任务评分倒排 Top N,找到资源浪费最多的作业进行优化;

  • 在发现“内存利用率较低”的问题后进入详情页面找到资源浪费最多的作业;
  • 点击进入作业详情页面,根据提供的优化建议对这些作业进行优化;

c. 通过持续优化,最大化利用资源,避免浪费。

EMR Doctor 风险提前预警

集群日报功能的另一个核心效果是风险提前预警。

a. 可能影响集群健康的问题

  • 小文件或者冷数据占比过大;
  • 数据本地化率低;
  • 计算任务激增导致资源消耗过快;

b. 可能的解决方案:

  • 小文件数量过多:提前进行整合处理;
  • 冷数据占比过大:进行数据分层,将冷数据分层放置到低成本存储(例如 OSS)上,降低整体成本;
  • 数据本地化率低:进行提前提升,避免业务访问延迟
  • 计算任务激增导致资源消耗过快:提前增加资源,避免资源不足导致的业务等待和受损;

总体来说,针对集群出现的健康问题,集群日报能够给出预警,实现提前发现、提前处理。

EMR Doctor 实时分析建议

  • 通过健康检查服务的实时检测功能,触发实时分析并查看建议;
  • 实时检测功能覆盖 Yarn 队列实时资源用量,当前资源浪费作业 Top N,存储数据实时本地化率等;
  • 集群整体变慢或者业务无法提交时,可以触发实时检测辅助诊断和运维。

Efficiency 研发效能

EMR 新平台推出全新 EMR Studio 的 Serverless 服务,主要包括两方面:全托管 Notebook 服务和全托管 Workflow 服务,通过这两个服务实现交互式大数据开发和调式,以及一键式作业调度上线的功能。

EMR Studio 交互式大数据开发和调试

  • EMR Studio 全托管 Notebook 服务:支持多种大数据引擎,包括:Spark、Hive、Trino、Impala、ClickHouse、StarRocks 等;
  • 即开即用,没有集群创建流程,无需额外购买云资源;
  • 兼容 Jupyter 使用习惯,无缝对接 EMR 各计算/存储引擎,方便用户通过 Notebook 提交作业到 EMR 资源集群,进行运行和验证。

EMR Studio 一键式大数据作业调度和上线

  • EMR Studio 全托管 Workflow 服务;
  • 即开即用,没有集群创建流程,无需额外购买云资源;
  • 兼容 Apache DolphinScheduler,无缝对接 EMR 集群;方便用户在工作流定义中加入 EMR Notebook 上面已经开发和调试完的作业,进行调度和上线;

同时,EMR Studio Workflow 还计划支持调度其他云产品创建的作业,比如阿里云VVP 等。

EMR Notebook 和 Workflow 产品目前均处于邀测状态,欢迎有兴趣的朋友联系我们申请试用。

总结:EMR 新平台的“黑科技”

最后,让我们一起回顾一下EMR新平台的“黑科技”。

a. Elasticity 降本增效

  • 快速灵活的弹性伸缩能力;
  • 全方位支持抢占式实例;

b. Stability 稳定便捷

  • 故障节点自动发现和补偿;
  • 自动实时巡检;
  • 事件告警通知;

c. Intelligence 智能辅助

  • 避免资源浪费;
  • 风险提前预警;
  • 实时分析建议;

d. Efficiency 高效开发

  • 交互式开发调试;
  • 一键调度上线;

以上是 EMR 2.0 新平台的核心能力,欢迎大家使用和反馈。

原文链接

本文为阿里云原创内容,未经允许不得转载。