如何在AWS Kinesis Data Analytics的Apache Flink应用中增加Task Managers数量
为AWS Kinesis Data Analytics托管的Apache Flink应用新增Task Managers操作指南
Kinesis Data Analytics(KDA)托管的Flink集群Task Manager数量和应用配置的KPU配额直接绑定,要从当前2个Task Manager扩容到4个,按以下步骤操作即可:
操作步骤
方式1:通过AWS控制台调整
- 打开AWS Kinesis Data Analytics控制台,找到目标Flink应用进入详情页
- 点击页面右上角的配置按钮,进入配置编辑界面
- 找到可扩展性配置区块:
- 若使用KDA Flink v1.15及以上版本,直接找到Task Managers数量配置项,将当前值2修改为4即可
- 若使用更低版本的Flink,调整最大KPU配置:KDA默认1个KPU对应1个Task Manager,将当前2KPU修改为4KPU,即可生成4个Task Manager
- 找到并行度配置区块,建议同步调整作业总并行度为4的倍数,匹配新增的Task Manager资源,避免资源浪费
- 点击保存更改,等待应用重启完成后,即可在Flink控制台看到4个Task Manager
方式2:通过AWS CLI调整
- 执行以下
update-application命令修改配置,替换占位符为实际的应用信息即可:
aws kinesisanalyticsv2 update-application \ --application-name <你的应用名> \ --current-application-version-id <当前应用版本号> \ --application-configuration-update '{ "FlinkApplicationConfigurationUpdate": { "ParallelismConfigurationUpdate": { "ParallelismUpdate": 4, "ParallelismPerKPUUpdate": 1, "AutoScalingEnabledUpdate": false } } }'
- 如果你开启了自动扩缩容,把
AutoScalingEnabledUpdate设为true即可,平台会根据作业负载自动调整Task Manager数量
注意事项
- 调整配置会触发Flink应用重启,如果你提前配置了Savepoint,重启会自动从最近的Savepoint恢复,不会丢失业务数据
- KDA默认每个Task Manager的资源配额为1个vCPU、4GB内存(其中1GB分配给Flink托管组件,3GB分配给用户作业使用)
- 如果你自定义了
taskmanager.numberOfTaskSlots参数,要保证总slot数(Task Manager数量 * 单TM slot数)大于等于作业总并行度,否则作业无法正常调度运行
内容的提问来源于stack exchange,提问作者Vivek Patel
相关产品推荐
相关产品推荐

