1,我先简单的说说自己的理解,Flink可能跟spark不太一样
1)TaskManager 与 slots
比如我们有2个 TaskManager 每个TaskManager 设置了3个slot,那么slot总数是6
在执行任务的时候,如下图:
2)slot 与 cpu的关系
每个Flink TaskManager在集群中提供处理槽。 插槽的数量通常与每个TaskManager的可用CPU内核数成比例。一般情况下你的slot数是你每个TM的cpu的核数。
经验上讲Slot的数量与CPU-core的数量一致为好。但考虑到超线程,可以让slotNumber=2*cpuCore.
例如我们这里有6个slot,所以给3 或者 6个core比较好
3)slot 与并行度
严格来说 我们设置task的并行度不能超过slot的数量,比如我们这里slot数量是6,那么最大的并行度也就是6.
下图是并行度为1 的执行图: