首页 笔记 图片 查字 
所属分类:Flink
浏览:73
内容:

集群 / 运行时进程 /
JobManager;
TaskManagers(作业,任务Task,任务数,子任务,算子链,任务槽,任务槽数,任务槽共享,并行度)


作业(Job):作业是应用程序APP的运行实例,就是将开发的APP提交到集群上运行起来。

任务(Task):每一个Worker(即TaskManager)都是一个JVM进程,这就是任务。
任务数(Task number):Job的最大并行度除以每个TaskManager分配的任务槽数。
子任务(SubTask):每个Worker(TaskManager)可以启动多个独立的线程,并行执行多个子任务。每个独立线程就是一个子任务,由一个任务槽独立运行。
算子链(Operator chain):将算子运行的子任务subtask链接起来形成任务链条tasks。将算子链接成task:减少线程间切换、缓冲的开销,并且减少延迟的同时增加整体吞吐量。

任务槽(Task Slot):在TaskManager上对每个任务运行所占用的资源做出的固定划分,这就是任务槽。每个任务槽表示一个TaskManager拥有的计算资源的一个固定大小的子集,用来独立执行一个子任务。任务槽仅仅用来隔离内存,不能隔离CPU资源。
任务槽数(Task Slot number):默认配置为计算机的CPU核心数,也可以通过taskmanager.numberOfTaskSlots进行设置。
任务槽共享:只要属于同一个作业,不同任务节点的并行子任务,可以放到同一个任务槽上执行。

并行度(Parallelism):一个特定算子的子任务(subtask)的个数就是并行度。运行一个作业所需的任务槽slot数量就是作业中所有算子并行度的最大值。