看你的描述应该是Standalone部署模式。 默认调度方法是以slot为单位的,并且会倾向于分配到同一个TaskManager的slot中。 想要充分利用所有slot,一个方法是把集群中slot总数设为所有作业的并行度之和, 或者尝试将配置项cluster.evenly-spread-out-slots设为true。
Best, Shawn Huang 张锴 <zk357794...@gmail.com> 于2021年5月7日周五 下午7:50写道: > 给l另一个job设置个组别名,不同的组不会slot共享,会跑到别的slot上,slot可以灵活的运行在不同的TM上。 > > allanqinjy <allanqi...@163.com> 于2021年5月7日周五 下午7:38写道: > > > > > > https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html > > flink的配置中是有flink taskmanager配置的,一个tm对应几个slots > > > 。taskmanager.numberOfTaskSlots默认是1.并行度是对应了slots数据,一般我们的slots与并行度最大的一样。你可以看一下这个参数设置。然后对照官网说明。 > > > > > > | | > > allanqinjy > > | > > | > > allanqi...@163.com > > | > > 签名由网易邮箱大师定制 > > > > > > 在2021年05月7日 16:42,wenyuan138<wenyuan...@gmail.com> 写道: > > flink集群(flink 1.10.1),taskmanager有4个,每个有10个slot。 然后我有2个job, > > 每个并行度是4,预期是会分布到不同taskmanager的slot上(也就是4个taskmanager平均分配2个slot, > > 这样能更好的利用cpu资源). 结果发现这2个job的8个task全部分配到同一个taskmanager上了。 为什么? > > 有什么配置可以改变这种行为吗? > > 我们想要的是task能分到不同的taskmanager上。 谢谢! > > > > > > > > -- > > Sent from: http://apache-flink.147419.n8.nabble.com/ >