• 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后可以实现并行处理。

  • 相关阅读:
    RabbitMQ之延迟队列解读
    【问题解决】Tensorflow中run究竟运行了哪些节点?
    JVM学习第一天
    我的考研经历
    大黄酸偶联鸡卵白蛋白 rhein-OVA,BFNB/MEB/MEA/BFNH-OVA
    统计学中关于自由度的详细解释以及求平均值为什么消耗自由度1
    真·画个圆圈诅咒你
    智能驾驶加速“进阶”,这家Tier1巨头如何打造“全栈能力”?
    ardupilot开发 --- EKF 篇
    数据链路层:封装成帧
  • 原文地址:https://blog.csdn.net/java_creatMylief/article/details/133745417