三分钟快速理解Flink 作业提交流程(包工头的工程之路)

核心组件

我们先来简单了解一下 flink 作业提交涉及到的组件

同时,如果不了解 Yarn 的同学欢迎跳转到这篇文章,了解一下健鑫集团的工程承包流程(doge):

三分钟快速理解Yarn的工作流程

JobManager

JobManager 是整个flink作业的管理者 包含 Dispatcher、ResourceManager 以及 JobMaster

Dispatcher

主要用来接收 client 提交的 flink 作业,为 flink 作业启动一个 JobMaster

JobMaster

负责一个 flink 作业

作业提交阶段,将逻辑执行计划转换为物理执行计划

部署阶段,向ResourceManager 请求执行 flink 作业执行所需要的资源,将任务分发到不同的节点上去运行

运行阶段,对任务的运行进行持续的监控和协调;比如:进行checkpoint、故障恢复、异常容错等

TaskManager

flink 实际处理作业的组件

client

主要帮助用户将 flink 作业提交到对应环境上去运行

Flink 作业提交部署流程

首先,简单来就是:

用户提交作业 -> 生成逻辑执行计划 -> 物理执行计划 -> 启动 master 节点,申请对应资源(包工头去跟 boss 申请资源) -> master 节点将任务分发到 worker 节点上去执行(包工头雇佣农民工,给农民工分配任务、发工资)

  1. 用户提交 flink 作业到client

  2. client 将 flink 作业中的数据处理逻辑转换成 JobGraph,JobGraph 可以简单理解为逻辑执行计划。然后 client 将作业提交到Dispatcher 中

  3. Dispatcher 对程序进行分发,启动一个JobMaster 解析 JobGraph

  4. JobMaster 将 JobGraph 解析成 ExecutionGraph,ExecutionGraph 可以简单理解成物理执行计划,解析完成之后,JobMaster 就会知道作业运行需要多少资源

  5. JobMaster 向 ResourceManager 申请运行 flink 作业所需要的 TaskManager,ResourceManaager 向资源管理系统(比如 Yarn)申请对应的资源;ResourceManager 申请到资源之后,在对应的资源节点上启动 TaskManager

  6. TaskManager 启动之后向 ResourceManager 注册并提供Task Solt(Task Solt 是 flink 资源分配的最小单位)

  7. JobMaster 将 flink 作业分发到 TaskManager 的 Task Solt 上去运行

END

本文介绍了 flink 作业的提交流程,希望可以帮助到你

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java 学习一

jdk下载地址 配置环境变量

多项式和Bezier曲线拟合

目录 1. 多项式拟合2. Bezier曲线拟合3. 源码地址 1. 多项式拟合 在曲线拟合中,多项式拟合方法的性能受到三个主要因素的影响:采样点个数、多项式阶数和正则项。 采样点个数 N N N:从Figure 1中可以看出较少的采样点个数可能导致过拟合&…

【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

目录 🌷 安装Nginx环境 🍀 centos操作系统 🍀 ubuntu操作系统 🌷 安装Nginx环境 以下是在linux系统中安装Nginx的步骤: 查看服务器属于哪个操作系统 cat /etc/os-release安装 yum: 如果你确定你的系统…

Linux驱动开发——(四)内核定时器

一、内核的时间管理 1.1 节拍率 Linux内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序等等,对于驱动编写者来说最常用的是定时器。 硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中…

linux负载均衡 和 系统负载分析笔记

1 负载均衡 1.1 计算负载 1.1.1 PELT算法简介 从Linux3.8内核以后进程的负载计算不仅考虑权重,⽽且跟踪每个调度实体的历史负载情况,该算法称为PELT(Per-entity Load Tracking) 《奔跑吧Linux内核》卷1:基础架构;P505 相关资料…

stack、queue(priority_queue)的模拟实现和deque的简单介绍

stack和queue(priority_queue) 1. 容器适配器 适配器(Adapter):一种用来修饰容器(Containers)或仿函数(Functors)或迭代器(Iterator)接口的东西。 适配器是一种设计模式,该模式将一个类的接口转换成客户希望的另外一个接口。 现实中拿插座来说&#xf…

serverLess

第一步 安装依赖 npm install serverless-devs/s g 第二步 配置秘钥: 第三步 执行终端 执行命令 s config add 选择 alibaba cloud (alibaba) 把对应的ID secret填写,第三个别名可以随便写: serverLess 查看是…

ClickHouse 高可用之副本

文章目录 ClickHouse 副本支持副本的引擎配置高可用副本副本应用1.副本表概述2.创建副本表3.写入模拟数据4.副本验证 扩展 —— 在 Zookeeper 中查看副本表信息 ClickHouse 副本 ClickHouse 通过副本机制,可以将数据拷贝存储在不同的节点上。这样,如果一…

Redis底层数据结构之Dict

目录 一、概述二、Dict结构三、Dictht结构四、DictEntry结构五、核心特性 上一篇文章 reids底层数据结构之quicklist 一、概述 Redis 的 Dict 是一个高效的键值对映射数据结构,采用双哈希表实现以支持无锁的渐进式 Rehash,确保扩容或缩容时的高效性能。…

linux autogroup

一:概述 对于linux autogroup的作用,很多同学可能是听说过,但,并未验证过。 考虑下面场景,开两个terminal,T1和T2,在T1中运行进程P1,P1开启9个线程编译代码,在T2中运行…

Datawhale ChatGPT基础科普

根据课程GitHub - datawhalechina/hugging-llm: HuggingLLM, Hugging Future. 摘写自己不懂得一些地方,具体可以再到以上项目地址 LM:这是ChatGPT的基石的基石。 Transformer:这是ChatGPT的基石,准确来说它的一部分是基石。 G…

销售经理与员工:如何展开有效的绩效面谈

在当今竞争激烈的商业环境中,销售经理与员工之间的绩效面谈显得尤为重要。有效的绩效面谈不仅能够提升员工的工作积极性,促进团队的整体绩效,还能够加强销售经理与员工之间的沟通与理解,为企业的发展奠定坚实的基础。本文将探讨销…

7.2K star!一个完全免费,可以本地部署的 AI 搜索聚合器。新手可尝试

原文链接:7.2K star!一个完全免费,可以本地部署的 AI 搜索聚合器。新手可尝试 ChatGPT 刚上线的时候我用的很少,还是习惯用 Google。主要还是因为不信任,怕它对我胡说八道。 慢慢的,也没有一个明确的时间…

Linux的学习之路:19、进程信号(1)

摘要 今天这张说一下信号的一部分知识 目录 摘要 一、信号 1、生活角度的信号 2、技术应用角度的信号 3、注意 4、用kill -l命令可以察看系统定义的信号列表 5、信号处理常见方式概览 二、产生信号 1、通过终端按键产生信号 2、调用系统函数向进程发信号 3、由软件…

<前端>Electron-builder为公证后的app打更新信息latest.yml

MacOS下,Electron-builder可以很方便的为测试包app打更新信息(latest-mac.yml)。 但是,正式发布的时候,不可能用测试包app,因为还没有进行公证。如何为公证的app打latest-mac.yml呢。 其实观察latest-mac.y…

FPGA秋招-笔记整理(1)

一、关键路径 关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径。也就是静态时序报告中WNS(Worst Nagative Slack&…

Git 核心概念与实操

这里写目录标题 1 版本回退2 工作区、暂存区、本地仓库、远程仓库 1 版本回退 原文链接:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192 首先 git log 查看提交记录 在Git中,用 HEAD 表示当前版本 上一个版本就是 HEAD^ &#xff…

Linux-进程间通信:System V消息队列

目录 System V IPC概述标识符与IPC Key System V消息队列创建或打开一个消息队列发送消息接收消息控制消息队列1、IPC_STAT2、IPC_SET3、IPC_RMID 查看系统当前的消息队列代码示例 System V IPC(Inter-Process Communication)是一组用于在 Unix-like 操作…

【C语言】手撕二叉树

标题:【C语言】手撕二叉树 水墨不写bug 正文开始: 二叉树是一种基本的树形数据结构,对于初学者学习树形结构而言较容易接受。二叉树作为一种数据结构,在单纯存储数据方面没有 顺序表,链表,队列等线性结构…

sklearn 笔记 metrics

1 分类 1.1 accuracy_score 分类准确率得分 在多标签分类中,此函数计算子集准确率:y_pred的标签集必须与 y_true 中的相应标签集完全匹配。 1.1.1 参数 y_true真实(正确)标签y_pred由分类器返回的预测标签normalize 默认为 Tr…