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

Flink JobManager、TaskManager、Slot、作业运行模式、Exactly Once、状态流、时间流、API结构 Flink 重要概念梳理与解析,如 JobManager、TaskManager、Slot、作业运行模式、Exactly Once、状态流、时间流、API结构等 阅读详情

场景

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

生产流程如下

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

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

【深入浅出flink】第3篇:多图讲解flink核心概念(通俗易懂)Job、Task、SubTask、Slot、Slotsharing、Parallelism、Operator Chains 本文是理解flink整个架构的核心,是最基础也是必须要掌握的知识,只有完全理解了它们,你才会在以后学习flink时游刃有余,才能更好的进阶flink高阶知识。 阅读详情

相关推荐

Flink中任务(Tasks)和任务槽(Task Slots)详解

在之前不做共享的时候,每个任务都平等地占据了一个slot,但其实不同的任务对资源的占用是不同的。所以对于第一个任务节点source→map,它的6个并行子任务必须分到不同的slot上(如果在同一slot就没法数据并行了),而第二个任务节点keyBy/window/apply的并行子任务却可以和第一个任务节点共享slot。另外,同一个任务节点的并行子任务是不能共享slot的,所以允许slot共享之后,运行作业所需的slot数量正好就是作业中所有算子并行度的最大值。而不同的任务节点的子任务可以共享slot。

pp1981002445的博客 2087

Flink 中JobManager和TaskManager

Flink 中JobManager和TaskManager

qq_41982570的博客 6971

Flink之slot、并行度、graph优化

一、Flink概述 Flink运行时主要角色有两个:JobManager和TaskManager。 JobManager主要是负责接受客户端的job,调度job,协调checkpoint等。 TaskManager执行具体的Task。TaskManager为了对资源进行隔离和增加允许的task数,引入了slot的概念,这个slot对资源的隔离仅仅是对内存进行隔离,策略是均分,比如taskmanag...

heroking 2747

Flink JobManger、TaskManger、TaskSlots、Client作用

JobManager、TaskManager、taskSlot你真的了解吗?我且问你,我如果设置并行度为2,我需要多少个taskManger、taskSlot?

胖虎儿的博客 1万+

Flink实战:从零部署集群到Job运行全流程详解

流处理作为大数据实时计算的核心技术,通过持续处理无界数据流实现低延迟、高吞吐的数据分析。其原理基于事件时间、状态管理和精确一次语义,确保数据处理的准确性与一致性。在技术价值层面,流处理引擎能够支撑实时监控、风控预警、实时推荐等关键业务场景,成为现代数据架构的基石。Apache Flink作为流处理领域的标杆框架,以其高吞吐、低延迟和强大的状态一致性保证,在实时计算中占据重要地位。本文聚焦于Flink Standalone集群的实战部署与任务运行,深入解析作业开发、连接器配置、Checkpoint机制等核心环

weixin_30561425的博客 467

Flink Standalone集群部署与生产环境调优指南

流式计算框架Apache Flink通过其Standalone集群模式为开发者提供了轻量级部署方案,特别适合中小规模数据处理场景。该模式不依赖YARN或Kubernetes等资源管理器,通过JobManager进行任务调度和TaskManager执行运算,实现了高效的数据流处理。在生产环境中,合理的资源配置、检查点优化和网络调优是保证Flink稳定运行的关键,例如TaskManager内存分配需遵循特定公式,检查点机制需要根据业务容忍度调整间隔和超时设置。这些优化手段在金融风控和物联网数据处理等实时计算场景

weixin_30412167的博客 386

【Flink】Flink架构深度剖析:JobManager与TaskManager

本文深入剖析了Apache Flink的架构设计,采用主从架构模式,由JobManager(主节点)和TaskManager(从节点)组成。JobManager作为"大脑",包含Dispatcher、ResourceManager和JobMaster三大组件,分别负责作业接收、资源管理和任务调度。TaskManager则是实际执行计算任务的"劳动力",通过Slot资源执行具体任务。文章详细介绍了作业提交与执行流程、Task与SubTask的概念、算子链与任务槽机制,以

weixin_63434398的博客 1068

大数据Flink(九):Flink原理初探

Flink原理初探 Flink角色分工 在实际生产中,Flink 都是以集群在运行,在运行的过程中包含了两类进程。 JobManager: 它扮演的是集群管理者的角色,负责调度任务、协调 checkpoints、协调故障恢复、收集 Job 的状态信息,并管理 Flink 集群中的从节点 TaskManager。 TaskManager: 实际负责执行计算的 Worker,在其上执行 Flink Job 的一组 Task;TaskManager 还是所在节点的管理员,它负责把该节点上的服务器信息比

Lansonli(蓝深李)的博客 1556

Flink核心架构深度解析:从JobManager到Parallelism,一文学会分布式流处理

通过本文的系统性解析,我们深入探讨了Apache Flink的核心架构及其关键组件。从JobManager的统一调度与资源协调,到TaskManager的具体任务执行与Slot管理,再到Client的作业提交与交互,三者共同构建了Flink高效、可靠的分布式处理框架。同时,通过对JobGraph、ExecutionGraph、Task、SubTask、Slot及Parallelism等核心概念的剖析,我们进一步理解了Flink在逻辑作业规划与物理资源分配之间的精密协作机制。

zuiyuelong的博客 893

告别虚拟机!在Windows上用WSL+VSCode搞定ArduPilot开发环境(保姆级避坑指南)

本文提供了一份详细的保姆级指南,介绍如何在Windows上使用WSL和VSCode搭建高效的ArduPilot开发环境,告别虚拟机性能损耗。从WSL安装、VSCode配置到ArduPilot固件编译和调试技巧,涵盖开发全流程中的关键步骤和常见问题解决方案,帮助无人机开发者快速构建专业级开发环境。

weixin_42543046的博客 461

告别手动转换!用腾讯云轻量服务器+QMT插件,5分钟搞定聚宽策略实盘(附完整源码)

本文详细介绍如何利用腾讯云轻量服务器和QMT插件快速实现聚宽策略的自动化实盘部署。通过云端信号中转站解决协议转换、信号缓存等核心问题,5分钟完成服务器配置,并附完整源码实现零改造实盘方案,显著提升量化交易效率。

weixin_28707739的博客 662

Flink的运行架构

Flink的运行架构 1. 运行架构 1. Client 严格意义上说,Client不是运行和程序执行的一部分,而是用于准备dataflow并将其发送给JobManager。之后,Client可以断开连接与JobManager的连接(分离模式-detached mode),也可以继续保持与JobManager的连接(附加模式-attached mode)。 客户端可以作为触发执行Java或Scala代码的一部分运行,也可以在命令行进程bin/flink run ...中运行。 2. JobManager

大数据进阶之路 3346

无人机飞控传感器全解析:从IMU到光流传感器的实战应用

本文深入解析了无人机飞控系统的核心传感器,从IMU、气压计、磁力计到光流传感器,详细阐述了其工作原理、数据融合策略及常见挑战。结合ICF5、Pixhawk 6C等主流飞控硬件,提供了从传感器校准、滤波器调优到应对室内光流定位、强磁干扰等实战场景的系统性优化指南,帮助开发者突破飞控“黑箱”,实现更稳定、可靠的飞行控制。

weixin_28396629的博客 169

Flink与ClickHouse在实时数仓中的核心技术与面试解析

实时计算框架Flink和OLAP引擎ClickHouse是现代数据架构的核心组件。Flink通过其分布式执行模型和精确的时间语义控制,实现了高吞吐低延迟的流式处理;而基于LSM-tree的ClickHouse则提供了列式存储和向量化执行能力,适合海量数据分析。在电商、金融等实时性要求高的场景中,两者常通过Kafka消息队列构建端到端管道,形成实时数仓解决方案。本文结合Flink的slot共享机制和ClickHouse的分区优化等热词,深入探讨资源调度、窗口计算、存储引擎选型等关键技术原理,并给出云原生部署和

weixin_33979203的博客 344

Outlook邮件规则实战:从自动化分类到GTD工作流整合

在信息过载的数字化办公环境中,自动化处理技术成为提升效率的关键。其核心原理是基于“条件-动作”的触发器模型,通过预设逻辑让系统自动执行重复性任务。这种自动化机制的技术价值在于将用户从繁琐的机械操作中解放出来,实现信息流的智能管控。在邮件管理这一典型应用场景中,自动化规则能精准处理项目邮件聚合、优先级分流等复杂需求。本文聚焦于微软Outlook的规则引擎,深入解析如何利用**规则引擎**和**触发器模型**构建高效的邮件处理系统,并进一步将其融入GTD(Getting Things Done)个人生产力框架,

weixin_31083901的博客 313

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+

Apache Flink 学习指南

Apache Flink 学习指南

姜穆澜的博客 507

一觉醒后ChatGPT 被淘汰了

近日,AI 界貌似出现了一种新的趋势:自主人工智能。这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」

Rocky006的博客 13万+

Flink-flink原理解读

1 Task和subtask 1.1 概念 Task(任务):Task 是一个阶段多个功能相同 subTask 的集合,类似于 Spark 中的 TaskSet。 subTask(子任务):subTask 是 Flink 中任务最小执行单元,是一个 Java 类的实例,这个 Java 类中有属性和方法,完成具体的计算逻辑。 Operator Chains(算子链):没有 shuffle 的多个算子合并在一个 subTask 中,就形成了 Operator Chains,类似于 Spark 中的

qq_30868737的博客 1674

统信UOS上Qt5.12.8离线安装保姆级教程(避坑网络登录与GCC选择)

本文提供统信UOS系统下Qt5.12.8离线安装的完整教程,涵盖环境准备、安装步骤、常见问题解决及开发优化建议。特别针对无网络环境下的登录验证跳过、GCC版本匹配等关键问题提供解决方案,帮助开发者快速搭建稳定的Qt开发环境。

weixin_30666401的博客 462

CentOS7 安装天气分型软件cost733过程详解

cost733是一款天气分型软件,其内置的一些算法可以帮助气象工作者进行天气类型划分等(我也是初学者,仅仅知道一些皮毛),但是网上找到的安装办法比较少,并且总会出现一些报错,试了一晚上,终于将安装办法调通了,希望可以帮助到大家

weixin_62573024的博客 3563

Flink 中 slot ,task,并行度的概念以及与CPU,内存的关系

我们在学习Flink时,经常会听到 task,slot,线程以及并行度这几个概念,对于初学者来说,这几个概念关系以及它们与系统内存,CPU之间的关系经常搞不清楚,下面我们就通过这篇文章来弄清楚这些概念与关系。 并行度 特定算子的子任务(subtask)的个数称之为并行度(parallel),一般情况下,一个数据流的并行度可以认为是其所有算子中最大的并行度。Flink中每个算子都可以在代码中通过.setParallelism(n)来重新设置并行度。而并行执行的subtask要发布到不同的slot中去执行。 T

ChengYanan的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Flink中subTask,并行度,slot你分得清吗?

ApacheFlink是一个开源的流处理框架,应用于分布式、高性能、高可用的数据流应用程序。可以处理有限数据流和无限数据,即能够处理有边界和无边界的数据流。无边界的数据流就是真正意义上的流数据,所以Flink是支持流计算的。有边界的数据流就是批数据,所以也支持批处理,目前flink在各大互联网公司应用广泛,是最为流行的大数据实时计算引擎之一。...

weixin_45701550的博客 2314

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Flink的Task与SubTask理解

文章目录官网参考1.任务2.通过flinkUI可以看到 有几个框就是几个Task3.程序模型4.流的分类5.Operator Chains6.Task Slot (TM = JVM)7.获取整个算子的执行计划8.flink通过webUI的Jar包传到哪里去了 java.io.tmpdir=/tmp 官网参考 # https://ci.apache.org/projects/flink/flink-docs-release- 1.11/concepts/flink-architecture.html

lihuazaizheli的博客 3900

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【亲测免费】 探索JobManager:一个高效的工作任务管理框架

探索JobManager:一个高效的工作任务管理框架 在软件开发中,有效管理和调度任务是至关重要的,它可以帮助我们优化资源利用、提高工作效率并保证项目的顺利进行。 是一个由NewCatShuang开源的项目,旨在提供这样一个灵活且强大的工作任务管理系统。 项目简介 JobManager是一个基于Java开发的任务调度框架,它支持定时和即时任务,并提供了丰富的API供开发者调用。该项目的目标是帮助开...

gitblog_00018的博客 492
上一篇: 关于flink重新提交任务,重复消费kafka的坑
下一篇: ambari失败重装重置环境
JNWsong
博客等级 码龄9年 287粉丝 204原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值