自动弹性伸缩
特性简介
随着企业的数据越来越多,越来越多的企业选择使用Spark/Hive等技术来进行分析,由于数据量大,任务处理繁重,资源消耗较高,因此使用成本也越来越高。当前并不是每个企业在每时每刻在进行分析,而一般是在一天的一个时间段内进行分析汇总,因此MRS提供了弹性伸缩能力,可以自动在业务在繁忙时申请额外资源,业务不繁忙时释放闲置资源,让用户按需使用,尽可能的帮助客户降低使用成本,聚焦核心业务。
在大数据应用,尤其是周期性的数据分析处理场景中,需要根据业务数据的周期变化,动态调整集群计算资源以满足业务需要。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。此外,如果数据量为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划特性。
MRS服务支持规则和时间计划两种弹性伸缩的策略:
- 弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。
- 资源计划:若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。
弹性伸缩规则与资源计划均可触发弹性伸缩,两者既可同时配置也可单独配置。资源计划与基于负载的弹性伸缩规则叠加使用可以使得集群节点的弹性更好,足以应对偶尔超出预期的数据峰值出现。
当某些业务场景要求在集群扩缩容之后,根据节点数量的变化对资源分配或业务逻辑进行更改时,手动扩缩容的场景需要用户登录集群节点进行操作。对于弹性伸缩场景,MRS支持通过自定义弹性伸缩自动化脚本来解决。自动化脚本可以在弹性伸缩前后执行相应操作,自动适应业务负载的变化,免去了人工操作。同时,自动化脚本给用户实现个性需求提供了途径,完全自定义的脚本与多个可选的执行时机基本可以满足用户的各项需求,使弹性伸缩更具灵活性。
客户价值
MRS的自动弹性伸缩可以帮助用户实现以下价值。
- 降低使用成本
部分企业并不是时刻都在进行批量分析,例如一般情况下数据持续接入,而到了特定时间段(例如凌晨3点)进行批量分析,可能仅需要消耗2小时。
MRS提供的弹性伸缩能力,可以帮助用户在进行批量分析操作时,将分析节点扩容到指定规模,而计算完毕后,则自动释放计算节点,尽可能的降低使用成本。
- 平衡突发查询
大数据集群上,由于有大量的数据,企业会经常面临临时的分析任务,例如支撑企业决策的临时数据报表等,都会导致对于资源的消耗在极短时间内剧增。MRS提供的弹性伸缩能力,可以在突发大数据分析时,及时补充计算节点,避免因为计算能力不足,导致业务宕机。用户无需手动购买额外资源,当突发事件结束后,MRS会自动判断缩容时机,自动完成缩容。
- 聚焦核心业务
大数据作为二次开发平台,开发人员时常难以判断具体的资源消耗,由于查询分析的条件复杂性(例如全局排序,过滤,合并等)以及数据的复杂性(例如增量数据的不确定性等),都会导致预估计算量难以进行,而使用弹性伸缩能力,可以让业务人员专注于业务开发,无需分心再做各种资源评估。