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

EMR on ECS是指EMR在ECS上运行的方式。EMR on ECS将EMR的大数据处理功能与ECS的容器化部署优势相结合,使得您可以更加灵活地配置和管理EMR集群,从而更好地适应复杂的数据处理和分析场景。

EMR on ECS 支持弹性伸缩,能够根据业务需求和策略自动调整计算能力(即节点数量)。EMR on ECS 近期重磅推出托管弹性伸缩功能,基于 EMR 托管弹性伸缩功能,您可以指定集群的最小和最大计算限制,EMR会持续对与集群上运行的工作负载相关的关键指标进行采样,自动调整集群大小,以获得最佳性能和资源利用率。

用例和优势

在 EMR 托管弹性伸缩发布之前,您必须提前预测工作负载或填写自定义弹性伸缩规则,这些规则取决于对服务框架(例如 Apache Spark 或 Apache Hive)的深入了解。预测工作负载或编写自定义规则比较困难且容易出错。集群资源大小不正确通常会导致稳定性风险,或者资源利用不足及成本超支。

阿里云EMR发布托管弹性伸缩功能后,您只需为集群指定最大和最小的Task节点数,阿里云EMR将自动在范围内调整集群规模,以实现最优性能与面对业务激增,EMR可以在较短时间内自动补充资源,并将新增任务调度至新的节点上在业务高峰过后,自动移除多余的资源,任务平滑的回到原有节点上,提升资源利用率。

为了对比固定集群和托管弹性伸缩集群的资源利用率效果,我们模拟了以下集群和场景:

用例

  • 集群设置:
规格数量
masterecs.r7.4xlarge 16 vCPU 128 GiB1
coreecs.g7.xlarge 4 vCPU 16 GiB2
taskecs.g7.xlarge 4 vCPU 16 GiB+ 固定集群设置:20<br/>+ 托管弹性伸缩集群设置:<br/> - 最小Task节点数:0<br/> - 最大Task节点数:20
  • 场景设置:
场景作业提交持续时间作业提交间隔作业高峰持续时间
有时间规律:固定长作业4小时2小时1小时
有时间规律:固定短作业2小时15分钟5分钟
夜间周期规律+白天随机提交2小时随机5分钟
无时间规律随机随机随机
  • 效果对比:

相比于固定集群配置,托管弹性伸缩在各类场景下都有较大的资源利用率提升。

资源利用率未开启弹性托管伸缩
有时间规律:固定长作业44.74%87.85%
有时间规律:固定短作业35.64%74.58%
夜间周期规律+白天随机提交27.08%76.19%
无时间规律39.18%84.66%

以下大盘显示了 EMR 托管弹性伸缩如何根据集群负载调整集群大小,在高峰期扩大集群,在空闲时缩小集群。与固定大小的集群相比,在用例中启用托管弹性伸缩,可将集群成本降低 60%。

优势

相比于自定义伸缩,托管弹性伸缩在性能和配置便捷度上都有较大的提升

配置 EMR 托管扩展

配置 EMR 托管扩展非常简单。只需启用 EMR 托管扩展并设置Task节点数量的最小和最大限制。您可以在正在运行的集群上或在创建集群时启用托管扩展。有关更多信息,请参阅

如何在EMR控制台配置弹性伸缩_开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心

节点分配策略

EMR 托管弹性伸缩让您控制集群可扩展到的最小容量和最大容量。可控制这些容量的参数包括:

  • 最大Task节点数
  • 最小Task节点数
  • 最大按量Task节点数,最大按量Task节点数是用来调节抢占式实例和按量实例的分配

    • 仅扩展按量Task节点,最大按量Task节点数=最大Task节点数。
    • 仅扩展抢占式实例Task节点,最大按量Task节点数=最小Task节点数。

阿里云大数据AI
12 声望11 粉丝

分享阿里云计算平台的大数据和AI方向的技术创新、实战案例、经验总结。