01、flink的原理和安装部署
flink中主要有两个进程,分别是JobMManager和TaskManager,当然了根据flink的部署和运行环境不同,会有一些不同,但是主要的功能是类似的,下面我会讲下聊下,公司用的多的部署方式,基于yarn集群的部署
01. JobManager
- job任务的拆解
- 资源的调度
- checkpoints的生成
02. TaskManager
- 根据JobManager给的具体task任务启动线程去执行
03. Flink中相关概念的含义
flink中任务跑起来之后会有这些名字需要弄清楚,并行度,分区,算子链,taskslot,task,subTask
-
Task: 相当于Spark中的Stage,一个job中根据是否发生分区的变化(主要是指产生shuffle的操作:上游分区的数据会分成若干份,被拉去到下游的不同分区)把job切分成不同的Task
-
算子链: 算子链由若干个能划分成一个Task的算子组成
-
TaskSlot: TaskSlot代表可以运行Task的一组资源槽,分布在各个TaskManager进程中
-
并行度,分区,SubTask: 并行度,分区和SubTask在flink中都表示相近的意思,都代表当下task的并发程度,也可以看作是一个运行线程
其中需要的几点如下,其中一点是,Flink任务TaskSlot的数量要大于等于这个job中各算子并行度最大的那个算子的并行度,否则任务跑不起来,还有一点是各个Task需要运行在一个TaskSlot比如一个job有3个Task,那这三个Task就应该被分配到同一个slot中运行,这样做的目的是为了减少各个Task之间数据交换的成本,如下图所示

04. Flink on yarn的运行原理
flink on yanr是大多数公司选择的一种运行方式,它的优势主要是借助yarn的资源管理能力,通过yarn能更灵活把控flink job进行资源利用,同时也大大的减轻了公司大数据组件的维护压力,如下是on yarn的运行流程
- 任务提交之后,yanr会把我们提交的jar包已经运行的所需的jar包都放到hdfs的中
- 同时client会和ResourceManager通信,RM会在对应的NodeManager中启动一个ApplicationMaster进程来运行我们提交的主jar包上的main方法,构建任务的运行环境
- 上步骤中的APPMaster其实就是JobManager的功能,它会吧job的task分割好,然后再回到RM中申请对应的资源运行Task
- RM接收到请求之后然后根据配置会启动对应的TaskManager,在每个TaskManager中启动相应的TaskSlot
- 对应的资源都准备好之后,TaskManager会去下载对应Task运行时需要的jar包来构建运行环境
- 环境构建之后,每个slot就运行分配给自己的任务,在这期间会和JobManager进行通信,共同完成job的任务

相关文章:
01、flink的原理和安装部署
flink中主要有两个进程,分别是JobMManager和TaskManager,当然了根据flink的部署和运行环境不同,会有一些不同,但是主要的功能是类似的,下面我会讲下聊下,公司用的多的部署方式,基于yarn集群的部…...
美图脱掉“复古外衣”,在AI浪潮中蜕变
"人工智能就像电力一样,如果你的竞争对手正在使用它,你也需要使用它,否则你就会失去竞争力",斯坦福大学教授和谷歌前首席科学家安德鲁恩格尔曾这样说到。 而近日拉开序幕的消费电子风向标——科技贸易展国际消费电子展…...
sqlalchemy The transaction is active - has not been committed or rolled back.
连接池参考 参考:https://blog.csdn.net/SunJW_2017/article/details/129332393 1、因为使用了连接池,没有释放 2、解决方法: from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, scoped_session from gree…...
47.数据绑定的PropertyChanged C#例子 WPF例子
[CallerMemberName] string propertyName null 这段代码中的 [CallerMemberName] 是一个特性(Attribute),它应用于 propertyName 参数。这个特性的作用是,在编译时,如果调用 OnPropertyChanged 方法时没有显式提供 pr…...
网络安全 | Web安全常见漏洞和防护经验策略
关注:CodingTechWork 引言 OWASP (Open Web Application Security Project) Top 10是Web应用最常见的安全风险集合,帮助开发人员和安全专家识别和防止最严重的网络安全问题。以下是基于OWASP Top 10的Web安全防护经验策略与规则集。Web开发者必须对潜在…...
Agent一键安装,快速上手Zabbix监控!
目录 一、Linux操作系统部署Agent环境配置1、防火墙配置2、永久关闭selinux yum方式安装1、配置zabbix仓库2、安装agent3、配置 Zabbix-Agent 指向 Zabbix-Server4、启动agent服务 二进制包安装1、下载二进制包2、创建用户和目录及更改属主(组)3、解压二…...
Edge Scdn是什么,它如何提升网站安全性与访问速度?
随着网络攻击的日益猖獗,尤其是分布式拒绝服务(DDoS)攻击的频繁发生,如何保护网站的安全性并确保用户的访问体验变得极为重要。Edge Scdn(内容分发网络)作为一种新兴的技术方案,逐渐被越来越多的…...
ubuntu20.04 docker安装
Ubuntu | Docker DocsPost-installation steps | Docker Docs # 创建目录 sudo mkdir -p /etc/docker # 写入配置文件 sudo tee /etc/docker/daemon.json <<-EOF { "registry-mirrors": [ "https://docker-0.unsee.tech", &qu…...
初始C#.
一.模板 using System; using System.Collections.Generic; using System.L。inq; using System.Text; using System.Threading.Tasks;//引用命名空间 namespace First_progream//项目名或者命名空间 { internal class Program //类名 { static void Main(string[] args)…...
js高亮文本
高亮文本 const inputs ["这是一个普通文本,包含关键字测试。",<p style"font-size: 10px">这是一个<span>GVM</span> <strong>测试</strong>内容。</p>, ];const keywords ["测试", "G…...
解决SpringBoot 健康检测接口 actuator/health 访问一直卡着,但 actuator/info等其他接口能正常访问的问题
背景 最近在做服务迁移,迁移完后的新服务,直接将pod的配置丢到新的K8S集群中,健康监测一直失败 Debug思路 先看日志,日志显示SpringBoot已成功启动,按理说不应该无法访问其/actuator/health接口 拉长健康监测延时时…...
KVM创建ubuntu20.04虚机,部署K8S,再克隆出二份,做为Worker节点加入集群,通过Helm创建2个Pod,让它们之间通过域名互访
KVM创建ubuntu20.04虚机,部署K8S,再克隆出二份,做为Worker节点加入集群,通过Helm创建2个Pod,让它们之间通过域名互访 一.背景二.操作步骤1.安装KVMA.在BIOS中开启VT-dB.修改grub,开启iommu在/etc/default/grub 中 GRUB_CMDLINE_LINUX行 添加 intel_iommuon iommupt重新创建引导…...
GaussDB中的Vacuum和Analyze
GaussDB中的Vacuum和Analyze 基本概念与区别手动Vacuum和Analyze查看Vacuum和Analyze记录Autovacuum配置参数 基本概念与区别 使用VACUUM、VACUUM FULL和ANALYZE命令定期对每个表进行维护,主要有以下原因: VACUUM FULL可回收已更新或已删除的数据所占据…...
IvorySQL 4.2 发布
IvorySQL 4.2 已于 2025 年 1 月 13 日正式发布。新版本全面支持 PostgreSQL 17.2,并修复了多项 bug。 增强功能 PostgreSQL 17.1 增强功能 确保当 RLS 应用于非顶级表引用时,缓存的计划会标记为依赖于调用角色使 libpq 在 SSL 或 GSS 协议协商期间丢…...
浅谈云计算20 | OpenStack管理模块(下)
OpenStack管理模块(下) 五、存储管理5.1 存储管理概述 5.2 架构设计5.2.1 Cinder块存储架构5.2.2 Swift对象存储架构 六、网络管理6.1 网络管理概述6.2 架构解析6.2.1 Neutron网络服务架构6.2.2 网络拓扑架构 6.3 原理与流程6.3.1 网络创建原理6.3.2 网络…...
去年社融增量超32万亿 货币信贷平稳增长-乐享数科
数据显示,2024年全年,社会融资规模增量为32.26万亿元;去年12月末,社会融资规模同比增长8.0%,广义货币供应量(M_[2])同比增长7.3%,人民币贷款同比增长7.6%,增速相比上月有…...
STM32 HAL库函数入门指南:从原理到实践
1 STM32 HAL库概述 STM32 HAL(Hardware Abstraction Layer)库是ST公司专门为STM32系列微控制器开发的一套硬件抽象层函数库。它的核心设计理念是在应用层与硬件层之间建立一个抽象层,这个抽象层屏蔽了底层硬件的具体实现细节,为开发者提供了一套统一的、…...
React封装倒计时按钮
背景 在开发过程中,经常需要使用到倒计时的场景,当用户点击后,按钮进行倒计时,然后等待邮件或者短信发送,每次都写重复代码,会让代码显得臃肿,所以封装一个组件来减少耦合 创建一个倒计时组件…...
深入探究Linux树状目录结构
Linux 作为一款广泛使用的开源操作系统,其目录结构采用了树状设计,这种结构清晰、有条理,便于用户和系统进行文件管理与操作。 一、根目录(/) 根目录是整个 Linux 文件系统的起始点,就像一棵大树的根部&…...
Realsense相机驱动安装及其ROS通讯配置——机器人抓取系统基础系列(四)
文章目录 概要1 Realsense相机驱动安装Method1: 使用Intel服务器预编译包Method2: 使用ROS服务器预编译包Method3: 使用SDK源代码方法对比总结 2 Realsense-ROS通讯配置与使用2.1 Realsense-ROS包安装2.2 ROS节点启动 小结Reference 概要 本文首先阐述了Realsense相机驱动安装…...
用C语言解决‘换硬币’问题?我来教你如何调试和验证你的循环逻辑
用C语言解决‘换硬币’问题?我来教你如何调试和验证你的循环逻辑 当你第一次面对"换硬币"这类组合问题时,那种既兴奋又困惑的感觉我至今记忆犹新。作为C语言初学者,理解多重循环的运作机制就像在迷宫中寻找出口——每次你以为找到了…...
GEMM内核与MHA中的寄存器分配优化策略
1. GEMM内核与寄存器分配基础解析通用矩阵乘法(GEMM)作为深度学习计算的核心算子,其性能表现直接决定了神经网络训练和推理的效率。在硬件层面,寄存器分配的优劣往往能带来数倍的性能差异。我们以典型的GEMM运算C αAB βC为例&…...
如何在macOS上免费解锁QQ音乐加密文件:完整指南
如何在macOS上免费解锁QQ音乐加密文件:完整指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果…...
为什么软件开发偏爱 Linux?深度剖析 Linux 相较于 Windows 的核心优势
引言 在软件开发的世界里,一个有趣的现象是:无论是大型互联网公司的服务器集群,还是资深程序员的个人开发机,Linux 操作系统的身影无处不在。与之形成鲜明对比的是,尽管 Windows 在个人消费市场占据绝对主导地位&…...
MySQL GROUP BY 原理与优化
我刚工作的时候,有次统计每个用户的订单总金额,写了 SELECT user_id, SUM(amount) FROM orders GROUP BY user_id,结果执行了 60 秒还没出结果。DBA 帮我一看执行计划,发现没走索引,导致 Using temporary(用…...
1901-2022年中国气温变化分析实战:用这份1km栅格数据我们能发现什么?
1901-2022年中国气温变化分析实战:如何从1km栅格数据中挖掘气候演变规律当一份覆盖122年、分辨率精确到1公里的气温栅格数据摆在面前时,我们看到的不仅是数字矩阵,更是一部写在经纬度坐标里的气候变迁史诗。这份由逐月数据聚合生成的逐年气温…...
对比按量计费与Token Plan套餐的实际成本差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按量计费与Token Plan套餐的实际成本差异 在构建和运营基于大模型的应用时,成本控制是一个核心的工程考量。Taotok…...
模拟电路实现自主循线机器人:无MCU的硬件逻辑设计
1. 项目概述:用最纯粹的模拟电路,造一台会“思考”的机器人每次看到那些在赛道上灵巧穿梭的循线小车,你是不是也手痒,想自己动手做一个?但一听到“单片机”、“编程”、“Arduino”这些词,又觉得门槛太高&a…...
Python strip 与 rstrip 函数区别
Python strip 与 rstrip 函数区别 文章目录Python strip 与 rstrip 函数区别一、核心作用二、基础语法三、基础使用示例四、指定删除特定字符五、常用业务场景一、核心作用 函数作用范围strip()移除字符串首尾空白字符rstrip()仅移除字符串右侧末尾字符,左侧保持不…...
在数据预处理与分析流水线中集成大模型API进行智能标注与摘要
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在数据预处理与分析流水线中集成大模型API进行智能标注与摘要 对于数据工程师而言,处理海量非结构化文本数据是一项常见…...
