flink笔记:028 任务(task)和任务槽(task slots)

每个任务槽(task slot)其实表示了 TaskManager 拥有计算资源的一个固定大小的子集。
这些资源就是用来独立执行一个子任务的。

在这里插入图片描述
假如一个 TaskManager 有三个 slot,那么它会将管理的内存平均分成三份,每个 slot 独自
占据一份。这样一来,我们在 slot 上执行一个子任务时,相当于划定了一块内存“专款专用”,就不需要跟来自其他作业的任务去竞争内存资源了

在这里插入图片描述
一个程序的最大子任务需要的slot数就是我们最终要申请的slot数量
默认情况下,flink循序任务共享slot,一个slot可以保存作业的整个管道,当我们将资源密集型和非密集型的任务同时放到一个slot中,它们就可以自行分配对资源占用的比例,从而保证最重的活平均分配给所有的taskMansger

每个任务节点的并行子任务一字排开,占据不同的 slot;而不同
的任务节点的子任务可以共享 slot。一个 slot 中,可以将程序处理的所有任务都放在这里执行,
我们把它叫作保存了整个作业的运行管道(pipeline)。

猜你喜欢

转载自blog.csdn.net/weixin_43015677/article/details/129913924