2.什么是 Slot
2.1 概述
Flink中每个真正执行任务的TaskManager都是一个JVM进程,其在多线程环境中执行一个或者多个子任务。为了控制一个JVM同时能运行的任务数量,flink引入了task slot
的概念。每一个task solt
代表了TaskManager资源的一个子集,比如,一个拥有3个solt
的TaskManager,每一个solt
可以使用1/3TM所管理的内存。进行资源分割意味着为子任务保留足够的内存,从而避免与其他子任务进行竞争。注意:当前solt
还不能分割cpu资源,仅仅对内存进行了分割。
通过调整TM`solt`的数量,用户可以确定子任务的隔离程度,比如,每个TM只设置一个`solt`,那么就意味着每一个任务组都在单独的JVM中执行。共用JVM的任务可以共享TCP链接,心跳消息,甚至可能共享数据集。
默认情况下,flink允许子任务共享slot