如何使K8s上Flink Session模式的TaskManager Pod持续运行?
解决Flink K8s Session集群TaskManager常驻问题
指定固定数量的TaskManager
在启动Session集群时,添加-Dtaskmanager.numberOfTaskManagers=<你需要的数量>参数,就能让Flink在集群启动阶段就创建对应数量的TaskManager Pod,并且任务结束后不会销毁这些Pod,保持运行状态等待下一次任务提交。示例命令:./bin/kubernetes-session.sh -Dkubernetes.cluster-id=my-first-flink-cluster -Dtaskmanager.numberOfTaskManagers=2搭配资源配置(可选)
如果你需要更精准地控制TaskManager的资源使用,可以额外添加内存和任务槽相关参数,根据业务需求调整:-Dtaskmanager.memory.process.size=4096m -Dtaskmanager.numberOfTaskSlots=4注意事项
- 这种配置会持续占用K8s集群资源,要根据集群实际资源容量合理设置TaskManager数量,避免资源浪费。
- 后续如果需要调整TaskManager数量,可通过Flink UI的Cluster页面手动添加,或者重启Session集群修改参数。
内容的提问来源于stack exchange,提问作者Stroopwafel
相关产品推荐
相关产品推荐

