【Flink运行时架构】核心组件

在Flink的运行架构中,有两大比较重要的组件:作业管理器(JobManager)和任务管理器(TaskManager)。
Flink的作业提交与任务处理时的系统如下图所示。在这里插入图片描述
其中,客户端并不是处理系统的一部分,只是负责作业提交,在作业提交之后,可选择与JobManager断开连接。接下来,重点介绍一下JobManager和TaskManager在整个过程中所扮演的角色。

JobManager

JobManager是Flink集群中一个任务管理和调度的核心,是控制应用执行的主进程,每一个应用都应该被唯一的JM控制执行。在高可用的场景下,可能会出现多个JM,但是也只有一个正在运行的Leader节点,其余都是备用。JM又包含三个组件:JobMaster、ResourceManager、Dispatcher。

JobMaster

我们把对数据进行处理的操作统称为任务(task),多个任务按照一定的先后顺序连接起来,就构成了作业(job)。而JobMaster是负责处理单独的作业,因此JobMaster和具体的job是一一对应的。
也就是说,多个job是可以运行在一个Flink集群上的,而每一个job则都有一个自己的JobMaster。
JobMaster在接收到客户端提交的应用后,会把作业图转换成一个物理层面的数据流图,也就是执行图,它包含了所有可以并发执行的任务。JobMaster会向资源管理器发出请求,申请执行任务必要的资源,一旦获取了足够资源,就会将执行图分发到真正运行他们的TaskManager上。

ResourceManager

ResourceManager主要负责资源的分配和管理,在Flink集群中只有一个。这里的资源是指TaskManager的任务槽(slot),它包含了机器用来执行计算的一组CPU和内存。每个任务都需要被分配到一个任务槽中执行。

这里的ResourceManager其实是Flink内置的,注意和其他资源管理平台区分开,比如K8S、YARN等。
TaskManager中的任务槽都会向ResourceManager注册的,当ResourceManager没有足够的任务槽时,它可以向资源管理平台发起会话,请求提供启动TaskManager进程的容器。

Dispatcher

Dispatcher主要负责提供一个REST接口,用来与集群进行交互和管理,负责为每一个新提交的作业启动一个新的JobMaser组件,以及启动一个WebUI用于展示和监控作业执行信息。

TaskManager

每个TaskManager都包含了一定数量的任务槽,任务槽是资源调度的最小单位,其数量限制了TaskManager能够并发处理的任务数量。
TaskManager启动之后,会向ResourceManager注册它的任务槽,收到指令后,TaskManager就会将一个或者多个任务槽提供给JobMaster用于分配任务的调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牟乃夏《ArcGIS Engine地理信息系统开发教程》学习笔记2

目录 一、ArcGIS Engine概述 1、 定义 2、 核心功能 3、 与ArcObjects(AO)的关系 二、开发环境搭建 1、 开发工具要求 2、 关键步骤 三、 ArcGIS Engine核心组件 1、 对象模型 2、 类库分类 四、 第一个AE应用程序(C#示例&#xf…

端、管、云一体化原生安全架构 告别外挂式防护!

面对数字化转型浪潮,企业网络安全风险日益凸显。数据泄露、黑客勒索等事件频发,合规要求加速推进。尽管企业纷纷部署了防病毒、身份认证、文件加密、入侵防护、流量监控等多种安全系统,但分散且孤立的架构非但没有有效抵御风险,反…

深度学习--深度学习概念、框架以及构造

文章目录 一、深度学习1.什么是深度学习?2.特点3.神经网络构造1).单层神经元2)多层神经网络3)小结 4.感知器5.多层感知器6.多层感知器(偏置节点)7.神经网络构造 一、深度学习 1.什么是深度学习&#xff1f…

helm账号密码加密

1、安装工具 sudo apt update sudo apt install gnupg -y wget https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64 mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops chmod x /usr/local/bin/sops2、生成加密文件 gpg --full-generate-…

大数据面试问答-HBase/ClickHouse

1. HBase 1.1 概念 HBase是构建在Hadoop HDFS之上的分布式NoSQL数据库,采用列式存储模型,支持海量数据的实时读写和随机访问。适用于高吞吐、低延迟的场景,如实时日志处理、在线交易等。 RowKey(行键) 定义&#xf…

动态渲染组件

React框架,JSX语法 今天遇到一个好玩的 常规的搜索列表,列表最后一列为操作列,删改查。 眼看着Table 操作列 的配置文件越来越复杂,决定把操作列单独写一个组件,代码瞬间靓仔了些 {title: Operation,dataIndex: oper…

Web APIs阶段

一、Web APIs和JS基础关联性 1.1JS的组成 1.2JS基础阶段以及Web APIs阶段 JS基础阶段:学习的是ECMAScript标准规定的基础语法 Web APIs阶段: Web APIs是W3C组织的标准Web APIs我们主要学习DOM和BOMWeb APIs是JS独有的部分主要学习页面交互功能需要使用…

Doip功能寻址走UDP协议

目前使用 connect()函数的UDP客户端 ,这里接收数据 解析的地方 查看一下。 如果使用 bind()、sendto()、recvfrom() 组合 那么返回值 和发送要在做调整,,根据业务需要后续在调整 其余的 和原来的 逻辑都是一样的,只是协议变了而已。 if serv…

Linux指令的详细介绍

前言:🌼🌼 Linux是一款强大且广泛使用的操作系统,命令行接口(CLI)是与其交互的核心方式。通过Linux指令,用户可以高效地执行文件管理、系统监控、进程控制等任务。虽然刚接触时可能感到有些复杂…

Elasticsearch使用记录

一、配环境 1.docker版本部署es 8.x系列可以关掉ssl(本地测试时),去docker的/usr/share/elasticsearch/config/elasticsearch.yml里面的“xpack.security.enabled:”设置成true就可以 2.window docker部署推荐教程:基于Docker安…

MuJoCo(Multi-Joint Dynamics with Contact)机器人仿真器存在的问题

MuJoCo物理引擎计算接触力的核心思路,是通过数学优化的方式同时满足多个物理约束,而不是简单地为每个碰撞点单独计算作用力。它的工作流程可以理解为几个阶段的紧密配合。首先,仿真器会快速检测所有可能发生接触的物体表面,筛选出…

基础(项目管理工具:JIRA、禅道)

目录 JIRA JIRA介绍 JIRA中的优先级(缺陷严重程度) JIRA中的解决结果(缺陷的解决结果) JIRA中的问题状态(缺陷的状态) 使用JIRA创建缺陷 JIRA的安装(Windows) JDK22的下载和安…

16.使用豆包将docker-compose的yaml转为k8s的yaml,安装各种无状态服务

文章目录 docker方式httpbinit-toolslinux-commandmyipreference docker-compose安装k8s方式 docker方式 httpbin A simple HTTP Request & Response Service https://httpbin.org/ https://github.com/postmanlabs/httpbin https://github.com/mccutchen/go-httpbin do…

Day(22)--网络编程习题

习题 以下是这些 TCP 通信练习题的 Java 代码实现及解析: TCP 通信练习 1 - 多发多收 客户端(Client1.java) java import java.io.IOException; import java.io.OutputStream; import java.net.Socket; ​ public class Client1 {public…

20、.NET SDK概述

.NET SDK(Software Development Kit) 是微软提供的一套开发工具包,用于构建、运行和管理基于 .NET 平台的应用程序。它包含了一组丰富的工具、库和运行时环境,支持开发者在多种操作系统(如 Windows、Linux 和 macOS&am…

DELL电脑开机进入自检界面

疑难解答 - 如何解决开机直接进入BIOS画面 添加链接描述 一、DELL电脑开机自检提示please run setup program 未设置一天中的时间-请运行安装程序(Time-of-day not set - please run SETUP program) 配置信息无效-请运行安装程序(Invalid configuration information - ple…

2025 最新版 Node.js 下载安装及环境配置详细教程【保姆级】

2025 最新版 Node.js 下载安装及环境配置详细教程【保姆级】 一、下载安装二、环境配置三、缓存配置、全局配置以及更换国内淘宝镜像源 一、下载安装 下载地址:Node.js 官方下载地址 双击安装,点击 Change 更改安装位置。我只有一个C盘,这里…

2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮

2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮 目录 2025年4月通信科技领域周报(4.07-4.13):6G技术加速落地 卫星通信网络迎来组网高潮一、本周热点回顾1. 华为发布全球首…

vxe-table 动态列筛选,以及筛选项动态变化的解决方案记录

需求场景: table 的列是由接口动态返回的;列的筛选项就是数据的值,比如【姓名】这个字段总共有三个值,那么姓名这一列的筛选项就是这三个值本身;当有一列筛选后,其他列的筛选项也要动态变化。 vxe-table …

UE5游戏分辨率设置和窗口模式

第一种方法: 在项目配置Config文件夹下新建 DefaultGameUserSettings.ini 输入代码 [/Script/Engine.GameUserSettings] bUseVSyncFalse ResolutionSizeX1960 ResolutionSizeY1080 LastUserConfirmedResolutionSizeX800 LastUserConfirmedResolutionSizeY600 WindowPosX-1 …