借助 Amazon EMR Managed Scaling 的新增强功能,将 Amazon EMR 集群成本降低多达 19%

借助 Amazon EMR Managed Scaling 的新增强功能,将 Amazon EMR 集群成本降低多达 19%

源节点: 1985302

2020 年 XNUMX 月,AWS 宣布正式推出 Amazon EMR 托管扩展. 借助 EMR 托管扩展,您可以为集群指定最小和最大计算限制,Amazon EMR 会自动调整集群大小以获得最佳性能和资源利用率。 EMR Managed Scaling 持续监控与工作负载相关的关键指标,并使用优化集群大小的算法以获得最佳资源利用率。 由于该功能是完全托管的,因此无需升级版本即可立即实现对算法的改进。 Amazon EMR 可以在高峰期扩展集群并在空闲期正常缩减集群,从而降低成本并优化集群容量以获得最佳性能。

在整个 2022 年,我们对 EMR 托管扩展算法进行了多项改进。 通过这些改进,我们发现对于启用了 EMR Managed Scaling 的集群,利用率提高了 15%,总成本进一步降低了 19%。 从 2022 年 5.34.0 月中旬开始,默认情况下为使用 Amazon EMR 6.4.0 及更高版本的集群和 Amazon EMR XNUMX 及更高版本的新集群和现有集群启用 EMR 托管扩展增强功能。 此外,鉴于该功能是完全托管的,您将默认获得新的优化托管扩展算法,并且您无需采取任何措施。

下面列出了我们为 EMR 托管扩展启用的一些关键增强功能:

  • 通过有针对性地缩减 EMR 集群来提高集群利用率
  • 通过防止缩小使用存储中间洗牌数据的实例来降低成本 Spark Shuffle 数据感知
  • 通过逐步扩展 EMR 集群提高集群利用率并降低成本

客户成功案例

增强的 EMR Managed Scaling 算法如何帮助技术企业降低成本:

为了通过示例说明成本节省,我们研究了一家技术企业的 EMR 集群,该集群大量使用 Amazon EMR 来处理 Kafka 和使用 Spark 的 S3 之间的实时计费数据。 他们运行 EMR 版本 5.35 的持久性 EMR 集群,并启用了 EMR Managed Scaling。 以下 Amazon CloudWatch 仪表板显示了如何从 21 月 XNUMX 日开始配置增强的托管扩展算法 (请求的节点总数) 只有 70 个节点,而之前的 Managed Scaling 算法为类似的作业配置文件配置了 179 个节点。 为运行您的作业而配置的资源数量越少,您的 EMR 集群的总成本就越低。

增强的 EMR Managed Scaling 算法如何帮助广告企业降低成本:

我们还研究了一家广告企业的 EMR 集群,该集群将 Amazon EMR 用于其数据分析策略,并使用 Spark 执行其批处理 ETL 作业。 他们在 EMR 6.5 版上运行集群,并启用了 EMR Managed Scaling。 以下 Amazon CloudWatch 控制面板显示了从 15 月 XNUMX 日开始,增强的托管扩展算法如何配置(请求的总单位) 只有 41 个节点,而之前的 Managed Scaling 算法为类似的作业配置文件配置了 86 个节点。

估算 EMR 集群的成本节约和利用率改进:

集群成本节约:

要查看使用 EMR 托管扩展增强功能为您的 EMR 集群节省的估计成本,请按照以下步骤操作:

  • 打开 CloudWatch 指标控制台 并且,在 电子病历, 按您的搜索 ClusterId.
  • 从 EMR 可用的指标列表中,选择以下两个指标:
    • 运行能力 – 根据您在 Managed Scaling 策略中指定的单元类型,这将以“总运行单位“ 要么 ”运行节点总数“或”总 VCPU 运行=
    • Managed Scaling 请求的容量 – 根据您在 Managed Scaling 策略中指定的单元类型,这将以“要求的总单位“ 要么 ”请求的总节点数“或”请求的总 VCPU=
  •  将这两个指标绘制到您的 CloudWatch 控制面板。
  • 选择 3 年 2022 月至 2023 年 XNUMX 月之间的 XNUMX 个月作为时间范围,以查看与以前的托管扩展算法相比增强的托管扩展算法的改进。

集群利用率改进:

要使用 EMR Managed Scaling 增强功能估算 EMR 集群利用率的改进,请按照以下步骤操作:

  • 打开 CloudWatch 指标控制台,然后在 电子病历, 按您的搜索 ClusterId.
  • 从可用于 EMR 的指标列表中,选择“YARN内存可用百分比” 指标。
  • 要导出 YARN 使用的内存,请添加一个数学表达式,例如“Add Math → Start with empty expression”
    • 对于新的数学表达式,设置 标签=纱线利用率 并设置 详细信息=100-YARNMemoryAvailablePercentage.
  • 将集群利用率指标绘制到您的 CloudWatch 控制面板。
  • 选择 3 年 2022 月至 2023 年 XNUMX 月之间的 XNUMX 个月作为时间范围,以查看与以前的托管扩展算法相比增强的托管扩展算法的改进。

下一步是什么

我们将在每个新的 EMR 版本中继续调整 Managed Scaling 算法,从而在使用 EMR Managed Scaling 扩展集群时改善客户体验。

结论

在本文中,我们概述了我们在 EMR Managed Scaling 中推出的关键增强功能。 通过这些增强,我们发现集群利用率提高了 15%,集群成本降低了 19%。 从 2022 年 5.34.0 月中旬开始,使用 Amazon EMR 版本 6.4.0 及更高版本以及 Amazon EMR 版本 XNUMX 及更高版本的 EMR 集群默认启用这些增强功能。 鉴于 EMR Managed Scaling 是一项完全托管的功能,您将默认获得经过优化的新 EMR Managed Scaling 算法,并且您无需执行任何操作。

要了解更多信息并开始使用 EMR 托管扩展,请访问 EMR 托管扩展文档页面.


作者简介

苏珊特·马吉蒂亚 是 Amazon Web Services 的 EMR 首席产品经理。

 维沙尔维亚斯 是 Amazon Web Services 的 EMR 高级软件工程师。

马修连姆 是 AWS 的高级解决方案架构经理。

时间戳记:

更多来自 AWS 大数据