在讲Slot之前建议先看上文https://blog.youkuaiyun.com/weixin_44080445/article/details/120008414
翻译官网可以得到如下内容
1.Flink中每一个worker(TaskManager)都是一个JVM进程,它可能会在独立的线程上执行一个Task。为了控制一个worker能接收多少个task(这里的task可以理解为上文里面经过合并后subtask的数量),worker通过Task Slot来进行控制(一个worker至少有一个Task Slot)。
2.每个task slot表示TaskManager拥有资源的一个固定大小的子集。假如一个TaskManager有三个slot,那么它会将其管理的内存分成三份给各个slot。资源slot化意味着一个task将不需要跟来自其他job的task竞争被管理的内存,取而代之的是它将拥有一定数量的内存储备。需要注意的是,这里不会涉及到CPU的隔离,slot目前仅仅用来隔离task的受管理的内存。
3.Flink中slot数量代表了所有最高能支持的subtask数量。也就是整个任务的最高并发度,但是并不代表一个线程的概念(可见上图),内部也是可以启动很多线程的。
4.每一个任务的并行能力是多少就是靠着slot的数量来看的(可见上文WC中各个算子并行度举的例子)
5.关于flink配置文件flink-conf.yaml中的taskmanager.numberOfTaskSlots和parallelism.default