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

Flink 1.3在YARN上运行单作业时,如何设置每个TaskManager的Task Slots?

当然可以单独设置每个TaskManager的Task Slots数量,不用依赖总并行度来计算~下面给你几种常用的方式:

  • 命令行直接指定(推荐临时作业使用)
    用-ys参数就能直接设置每个TaskManager的Slots数,比如你原来的命令可以改成:

    flink run -m yarn-cluster -yn 3 -ytm 12000 -ys 4
    

    这里-ys 4就表示每个TaskManager分配4个Task Slots,3个TM的总Slots数就是12。如果没指定-p(总并行度),作业会默认用总Slots数作为并行度;要是指定了-p,只要总并行度不超过总Slots数,任务都会被调度到可用的Slots上。

  • 修改全局配置文件(适合固定全局规则)
    如果你希望所有作业默认都用相同的Slots数,可以修改Flink安装目录下的conf/flink-conf.yaml,找到taskmanager.numberOfTaskSlots配置项,设置成你想要的数值,比如:

    taskmanager.numberOfTaskSlots: 4
    

    不过要注意,YARN集群模式下,命令行的-ys参数会覆盖这个全局配置,所以临时调整还是用命令行更灵活。

  • 动态配置参数(和-ys效果一致)
    你也可以通过-D参数在命令行里直接指定配置项,效果和-ys完全相同,比如:

    flink run -m yarn-cluster -yn 3 -ytm 12000 -Dtaskmanager.numberOfTaskSlots=4
    

    这种方式适合需要临时覆盖全局配置,但又不想记太多专用参数的场景。

补充个小知识点:总并行度(-p)是作业实际运行的并行任务数量,而Task Slots是TM提供的资源槽位,总Slots数是-yn乘以-ys。一般建议总并行度不要超过总Slots数,不然会有任务等待空闲Slots释放哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:04:29