Flink中jobmanager、taskmanager、slot、task、subtask、Parallelism的概念

场景

一个工厂有三个车间每个车间两条生产线

生产流程如下

原料->加工->过滤->分类->美化->包装->下线

JobManager:工厂

在上述场景中,工厂就是jobManager,负责协调、调度和监控整个生产过程

TaskManager:车间

在上述场景中,车间就是taskManager,按照工厂的分配进行生产,所有的问题上报工厂

slot:流水线

在上述场景中,车间的流水线就是slot,是工作台,真正干活的地方,每个车间有2个流水线,3个车间,也就是说这个工厂有6条流水线,就是6个slot

Task:工作

在上述场景中,每一个任务都是一个task,共计7个task

在代码中,source.map.filter.groupby....每一个算子可以成为一个task

Parallelism:并行度

同一个任务(Task),在6个工作台上都可以同时进行,并行度可以设置为6

SubTask:工作实例

在每个工作台上运行的相同任务,相当于任务的实例,也就是subTask

官方概念

jobmanager

Flink中的JobManager是整个Flink作业的主机控制节点,负责协调、调度和监控整个作业的执行过程。JobManager有两种类型:一个是执行图 JobGraph 的 JobManager,另一个是执行宝贵资源的 ResourceManager。JobManager负责接收作业提交请求,将作业转换为执行图JobGraph,并将JobGraph提交给TaskManager执行。JobManager还负责故障恢复,当TaskManager或JobManager发生错误时,JobManager可以跟踪作业状态并计划故障恢复。此外,JobManager还可以协调和分配集群资源,并管理作业的执行策略和调度。

taskmanager

Flink中的TaskManager是Flink分布式计算框架的执行节点。一个Flink集群可以包含多个TaskManager,每个TaskManager可以运行多个任务(Task)。

TaskManager的主要职责是:

  1. 接收并处理来自JobManager的任务分配,将任务划分成不同的子任务(Subtask)并分配到对应的线程池中执行;
  2. 管理和维护线程池,包括线程的创建、销毁、线程的资源分配和管理等;
  3. 从上游的Task或Source中拉取数据,并将数据发送给下游的Task或Sink。

TaskManager和JobManager之间通过RPC进行通信,JobManager会将任务分配给TaskManager后,TaskManager会根据任务的资源需求分配对应的资源并启动任务执行。如果TaskManager在执行任务期间发生故障,JobManager会重新分配任务到其他TaskManager上,以保证任务的正确执行。

Parallelism

指的是在Flink中并行处理数据的任务数。在Flink中,每个任务都可以并行处理数据,而并行度就是指这些任务的数量。在资源充足的情况下,并行度越高,处理数据的速度也就越快。

slot

在Flink中,任务运行需要占用资源,资源的抽象单位称为slot。每个slot包含一定数量的CPU和内存等资源。一个任务需要占用一个或多个slot才能运行。

task

在Flink中,一个任务是指对应一个数据流操作的并行执行实体。任务可以是source任务、transformation任务或sink任务。

subtask

每个任务会被拆分成多个子任务,这些子任务被称为subtask。每个subtask都只处理数据集中的一部分,拆分成多个subtask后可以实现并行处理。

相关推荐
茗鹤APS和MES3 小时前
APS高级计划排程:汽车零部件厂生产排产的智慧之选
大数据·制造·精益生产制造·aps高级排程系统
蒙特卡洛的随机游走3 小时前
Spark的persist和cache
大数据·分布式·spark
蒙特卡洛的随机游走3 小时前
Spark 中 distribute by、sort by、cluster by 深度解析
大数据·分布式·spark
梦里不知身是客113 小时前
Spark中的宽窄依赖-宽窄巷子
大数据·分布式·spark
化作星辰3 小时前
java 给鉴权kafka2.7(sasl)发送消息权限异常处理
java·大数据·开发语言·kafka
user_admin_god4 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
mengml_smile4 小时前
大数据生态Sql引擎
大数据
isNotNullX8 小时前
怎么用数据仓库来进行数据治理?
大数据·数据库·数据仓库·数据治理
HitpointNetSuite8 小时前
连锁餐饮行业ERP系统如何选择?
大数据·数据库·oracle·netsuite·erp
zskj_zhyl9 小时前
科技助老与智慧养老的国家级政策与地方实践探索
大数据·人工智能·科技