slot即一个资源组,
一般默认情况下,每个节点的slot个数,是该节点CPU的核数。
flink会把一个任务拆分为多个子任务,
然后子任务会由多个并行的线程来执行。
一个任务的并行线程数目,就被称为该任务的并行度。
flink会把子任务分配到slot执行,因此任务的最大并行度,是由每个TaskManager上可用的slot数量决定的。
比如说一个taskManager上有4个slot, 那么taskManager会为每个slot分配25%的内存。
同一个slot中可以运行一个或多个线程。
同一个slot中的线程,共享同一个Java虚拟机 JVM
同一个JVM中的任务共享TCP连接和心跳信息
Task Manager的一个slot代表一个可用线程,ps:slot只对应内存隔离,并没有对CPU隔离
默认情况下,flink允许子任务共享slot,即使他们是不同任务的子任务,但是要是来自同一个作业即可。这种共享可以更好的实现资源利用率。
如上 生成环境后,设置setParallelism 为1,即代表设置并行度为1.