MRS的弹性伸缩规则功能支持根据集群负载对集群的Task节点进行弹性伸缩。如果数据量是按照周期进行有规律的变化,用户可以按照固定时间段来自动调整Task节点数量范围,从而在数据量变化前提前完成集群的扩缩容。
- 根据集群负载配置Task节点弹性伸缩:根据集群实时负载指标或集群资源池指标对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。
- 根据时间段配置Task节点弹性伸缩:按时间段设置Task节点数量范围,若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。
用户可根据集群负载或根据时间段配置Task节点弹性伸缩,两者必须至少配置其中一种,也可以叠加使用。根据集群负载与时间段叠加使用可以使得集群节点的弹性更好,足以应对偶尔超出预期的数据峰值出现。
更多关于弹性伸缩策略的介绍,请参见MRS集群Task节点弹性伸缩概述。
操作视频
本视频为您分别介绍如何在购买集群时配置弹性伸缩、如何为已有集群新增弹性伸缩策略。
因不同版本操作界面可能存在差异,相关视频供参考,具体以实际环境为准。
创建MRS集群时配置弹性伸缩
创建集群时,弹性伸缩功能可以通过在高级配置参数中进行配置。仅分析集群、流式集群和混合集群支持创建集群时配置弹性伸缩策略。
- 登录MRS管理控制台。
- 在购买包含有Task类型节点组件的集群时,参考自定义购买MRS集群配置集群软件配置和硬件配置信息后,在“高级配置”页签的弹性伸缩栏,打开对应Task节点类型后的开关按钮,即可进行弹性伸缩规则及资源计划的配置或修改。
图1 创建集群时配置弹性伸缩
配置弹性伸缩会调控节点数量,也会对实际价格有影响,请谨慎操作。
您可以参考以下场景进行配置:
场景一:根据实时负载配置弹性伸缩
当用户需要根据集群实时负载指标或集群资源池指标对Task节点数量进行调整,可以使用MRS的弹性伸缩规则调整Task节点数量。
例如:用户需要根据Yarn资源使用情况动态调整节点数,在Yarn可用内存低于20%时扩容5个节点,可用内存高于70%时缩容5个节点。Task节点组最高不超过10个节点,最低不少于1个节点。
- 进入弹性伸缩配置界面后,配置弹性伸缩规则。
- 单击“确定”,完成弹性伸缩规则设置。
- 如果是为已有集群配置弹性伸缩的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。
场景二:根据时间段配置弹性伸缩
当数据量以天为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划配置在规定时间内按计划调整Task节点数量。
例如:某项实时处理业务数据量在周一、周二和周六7:00~13:00出现高峰,其他时间保持平稳低水平。假设使用MRS流式集群来处理该业务数据,在周一、周二和周六7:00~13:00时,为应对数据量高峰需要5个Task节点的资源,其他时间只需要2个Task节点。
- 进入弹性伸缩配置界面后,配置资源计划。
- 设置节点数量范围的“默认范围”,例如设置为“2-2”,表示除资源计划规定时间范围外,其他时间Task节点数量固定为2个。
- 单击默认范围下方的“配置指定时间段的节点数量范围”或者“添加资源计划”。
- 根据实际需要,配置“生效日期”、“时间范围”和“节点数量范围”。
可以单击“配置指定时间段的节点数量范围”配置多条资源计划,最多可以配置5条。
资源计划触发扩容或缩容后,存在10分钟的冷却时间,冷却时间内不会再次触发弹性伸缩。
表2 伸缩规则参数介绍
参数名称 |
参数解释 |
取值样例 |
生效日期 |
生效日期默认是每日生效,也可以选择周一至周日任意一天或几天生效。 |
周一、周二和周六 |
时间范围 |
起始时间早于结束时间至少30分钟。不同资源计划配置的时间段不可交叉。 |
07:00-13:00 |
节点数量范围 |
- 如果配置了指定时间段的节点数量范围,则在这个时间范围内,以配置的“节点数量范围”为准。不在配置的时间范围时,则以“默认范围”为准。
- 如果没有配置指定时间段的节点数量范围,则节点数量范围以“默认范围”为准。
|
5-5 |
- 单击“确定”,完成资源计划设置。
- 如果是为已有集群配置资源计划的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。
场景三:根据集群负载及时间段配置弹性伸缩
如果数据量并非非常平稳,有可能出现超出预期的波动,因此并不能保证固定Task节点范围一定可以满足业务场景,此时需要在资源计划的基础上根据实时负载对Task节点数量进行调整。
例如:某项实时处理业务数据量在周一、周二和周六7:00~13:00出现规律性变化,但是数据量变化并非非常平稳。在周一、周二和周六7:00~13:00期间,需要Task节点的数量范围是5~8个,其他时间需要Task节点数量是2~4个。因此可以在资源计划的基础上,设置基于负载的弹性伸缩规则,以实现当数据量超出预期后,Task节点数量可以在资源计划规定的范围内根据负载情况进行浮动,但不会超出该规定范围。资源计划触发时,会以变化最小的方式使节点数量满足计划规定范围,即如果需要扩容则扩容到计划节点数量范围的下限,如果需要缩容则缩容到计划节点数量范围的上限。
- 进入弹性伸缩配置界面后,配置弹性伸缩规则。
弹性伸缩规则可调控节点数量,也会对实际价格有影响,请谨慎操作。
- 配置资源计划。
- 单击节点默认范围下方的“配置指定时间段的节点数量范围”或者“添加资源计划”。
- 配置“生效日期”、“时间范围”和“节点数量范围”。
单击“配置指定时间段的节点数量范围”或者“添加资源计划”按钮配置多条资源计划。
资源计划触发扩容或缩容后,存在10分钟的冷却时间,冷却时间内不会再次触发弹性伸缩。
表4 伸缩规则参数介绍
参数名称 |
参数解释 |
取值样例 |
生效日期 |
生效日期默认是每日生效,也可以选择周一至周日任意一天或几天生效。 |
周一、周二和周六 |
时间范围 |
起始时间早于结束时间至少30分钟。不同资源计划配置的时间段不可交叉。 |
07:00-13:00 |
节点数量范围 |
- 如果配置了指定时间段的节点数量范围,则在这个时间范围内,以配置的“节点数量范围”为准。不在配置的时间范围时,则以“默认范围”为准。
- 如果没有配置指定时间段的节点数量范围,则节点数量范围以“默认范围”为准。
|
5-8 |
- 单击“确定”,完成设置。
- 如果是为已有集群配置的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。
为已有MRS集群新增弹性伸缩策略
集群创建成功后,可以通过节点组维度或资源池维度对集群内的Task节点组配置相关规则。
由于节点组维度策略和资源池维度策略互斥,用户根据实际需要选择其中一个配置即可。
指定资源池维度策略在MRS 3.1.5及之后版本支持。
对比项 |
节点组维度 |
资源池维度 |
弹性伸缩对象 |
Task节点组内的所有节点 |
弹性伸缩策略指定资源池内的Task节点 |
扩容节点资源池归属 |
default资源池 |
弹性伸缩策略指定资源池 |
缩容对象 |
Task节点组内随机缩容 |
弹性伸缩策略指定资源池内随机缩容 |
约束与限制
- 不同节点组之间的弹性伸缩策略互斥,即只能存在一个节点组有开启的弹性伸缩策略。
- 仅以下版本支持配置资源池维度弹性伸缩:
- 普通版集群:MRS 3.1.5及之后版本。
- LTS版集群:MRS 3.3.0-LTS及之后版本。
前提条件
操作步骤
- 登录MRS管理控制台。
- 选择“现有集群”,单击待操作的集群名称。进入集群详情页面。
- 选择“弹性伸缩”页签,进入配置弹性伸缩界面。
用户根据实际需要选择资源池维度或者节点组维度进行策略配置。
图4 选择弹性伸缩配置维度
- 单击“新增弹性伸缩”按钮,即可添加弹性伸缩策略。
图5 新增弹性伸缩策略(节点组维度)
您可以参考以下场景进行配置:
场景一:根据实时负载配置弹性伸缩
当用户需要根据集群实时负载指标或集群资源池指标对Task节点数量进行调整,可以使用MRS的弹性伸缩规则调整Task节点数量。
例如:用户需要根据Yarn资源使用情况动态调整节点数,在Yarn可用内存低于20%时扩容5个节点,可用内存高于70%时缩容5个节点。Task节点组最高不超过10个节点,最低不少于1个节点。
- 进入弹性伸缩配置界面后,配置弹性伸缩规则。
- 单击“确定”,完成弹性伸缩规则设置。
- 如果是为已有集群配置弹性伸缩的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。
场景二:根据时间段配置弹性伸缩
当数据量以天为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划配置在规定时间内按计划调整Task节点数量。
例如:某项实时处理业务数据量在周一、周二和周六7:00~13:00出现高峰,其他时间保持平稳低水平。假设使用MRS流式集群来处理该业务数据,在周一、周二和周六7:00~13:00时,为应对数据量高峰需要5个Task节点的资源,其他时间只需要2个Task节点。
- 进入弹性伸缩配置界面后,配置资源计划。
- 设置节点数量范围的“默认范围”,例如设置为“2-2”,表示除资源计划规定时间范围外,其他时间Task节点数量固定为2个。
- 单击默认范围下方的“配置指定时间段的节点数量范围”或者“添加资源计划”。
- 根据实际需要,配置“生效日期”、“时间范围”和“节点数量范围”。
可以单击“配置指定时间段的节点数量范围”配置多条资源计划,最多可以配置5条。
资源计划触发扩容或缩容后,存在10分钟的冷却时间,冷却时间内不会再次触发弹性伸缩。
表6 伸缩规则参数介绍
参数名称 |
参数解释 |
取值样例 |
生效日期 |
生效日期默认是每日生效,也可以选择周一至周日任意一天或几天生效。 |
周一、周二和周六 |
时间范围 |
起始时间早于结束时间至少30分钟。不同资源计划配置的时间段不可交叉。 |
07:00-13:00 |
节点数量范围 |
- 如果配置了指定时间段的节点数量范围,则在这个时间范围内,以配置的“节点数量范围”为准。不在配置的时间范围时,则以“默认范围”为准。
- 如果没有配置指定时间段的节点数量范围,则节点数量范围以“默认范围”为准。
|
5-5 |
- 单击“确定”,完成资源计划设置。
- 如果是为已有集群配置资源计划的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。
场景三:根据集群负载及时间段配置弹性伸缩
如果数据量并非非常平稳,有可能出现超出预期的波动,因此并不能保证固定Task节点范围一定可以满足业务场景,此时需要在资源计划的基础上根据实时负载对Task节点数量进行调整。
例如:某项实时处理业务数据量在周一、周二和周六7:00~13:00出现规律性变化,但是数据量变化并非非常平稳。在周一、周二和周六7:00~13:00期间,需要Task节点的数量范围是5~8个,其他时间需要Task节点数量是2~4个。因此可以在资源计划的基础上,设置基于负载的弹性伸缩规则,以实现当数据量超出预期后,Task节点数量可以在资源计划规定的范围内根据负载情况进行浮动,但不会超出该规定范围。资源计划触发时,会以变化最小的方式使节点数量满足计划规定范围,即如果需要扩容则扩容到计划节点数量范围的下限,如果需要缩容则缩容到计划节点数量范围的上限。
- 进入弹性伸缩配置界面后,配置弹性伸缩规则。
弹性伸缩规则可调控节点数量,也会对实际价格有影响,请谨慎操作。
- 配置资源计划。
- 单击节点默认范围下方的“配置指定时间段的节点数量范围”或者“添加资源计划”。
- 配置“生效日期”、“时间范围”和“节点数量范围”。
单击“配置指定时间段的节点数量范围”或者“添加资源计划”按钮配置多条资源计划。
资源计划触发扩容或缩容后,存在10分钟的冷却时间,冷却时间内不会再次触发弹性伸缩。
表8 伸缩规则参数介绍
参数名称 |
参数解释 |
取值样例 |
生效日期 |
生效日期默认是每日生效,也可以选择周一至周日任意一天或几天生效。 |
周一、周二和周六 |
时间范围 |
起始时间早于结束时间至少30分钟。不同资源计划配置的时间段不可交叉。 |
07:00-13:00 |
节点数量范围 |
- 如果配置了指定时间段的节点数量范围,则在这个时间范围内,以配置的“节点数量范围”为准。不在配置的时间范围时,则以“默认范围”为准。
- 如果没有配置指定时间段的节点数量范围,则节点数量范围以“默认范围”为准。
|
5-8 |
- 单击“确定”,完成设置。
- 如果是为已有集群配置的场景,需勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 配置完成后,当集群的业务运行状态满足相关弹性伸缩要求时,系统会自动对Task节点组进行扩容或缩容操作。
- 用户可以在左侧导航栏单击“操作日志”,查看当前集群的扩缩容详情。