You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在YARN上部署Flink 1.5,如何禁用动态资源分配?

如果你在YARN集群部署Flink 1.5时,想要禁用动态资源分配(或者限制Flink能使用的资源上限),可以通过以下几种方式实现:

一、完全禁用动态资源分配

直接关闭Flink在YARN上的动态容器分配机制,可通过调整配置或提交作业时指定参数实现:

  • 修改全局配置文件:在flink-conf.yaml中添加或修改以下参数:

    • yarn.containers.dynamic.enabled: false:核心配置项,直接关闭动态容器分配功能
    • taskmanager.numberOfTaskSlots: <你的目标槽位数>:明确每个TaskManager的槽位数量,确保资源分配固定
    • yarn.application-attempts: 1:可选配置,避免作业重试时出现不必要的资源分配波动
  • 提交作业时临时指定:如果不想修改全局配置,提交作业时可以通过命令行参数临时覆盖配置:

./bin/flink run -m yarn-cluster \
  -yn <固定的TaskManager数量> \
  -yD yarn.containers.dynamic.enabled=false \
  -yD taskmanager.numberOfTaskSlots=4 \
  /path/to/your/job.jar

二、设置资源上限(不完全禁用动态分配)

如果只是想限制Flink能占用的最大资源,而非完全关闭动态分配,可以配置以下参数:

  • 限制最大容器数:在flink-conf.yaml中添加yarn.containers.max: <最大容器数>,比如设置为10,意味着Flink最多可申请10个TaskManager容器
  • 控制单容器内存:通过taskmanager.memory.process.size指定单个TaskManager的总内存,例如taskmanager.memory.process.size: 4096m,结合最大容器数就能算出Flink的总内存使用上限

正如FLIP-6中描述的:"Containers are requested as needed and will be released when not used any more",这种动态分配机制在资源紧张的集群中可能会占用过多YARN资源,通过上述配置就能有效避免这种情况,让Flink的资源使用更可控。

内容的提问来源于stack exchange,提问作者jian hou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:57:16