大数据Flink进阶(八):Apache Flink架构介绍
腾讯云 2023-03-30 07:21:41

Apache Flink架构介绍

一、Flink组件栈

在Flink的整个软件架构体系中,同样遵循这分层的架构设计理念,在降低系统耦合度的同时,也为上层用户构建Flink应用提供了丰富且友好的接口。

上图是Flink基本组件栈,从上图可以看出整个Flink的架构体系可以分为三层,从下往上依次是物理部署层、Runtime 核心层、API&Libraries层。

物理部署层:

该层主要涉及Flink的部署模式,目前Flink支持多种部署模式:本地Local、集群(Standalone/Yarn)、Kubernetes,Flink能够通过该层支撑不同平台的部署,用户可以根据需要来选择对应的部署模式,目前在企业中使用最多的是基于Yarn进行部署,也就是Flink On Yarn。


(相关资料图)

Runtime核心层:

该层主要负责对上层不同接口提供基础服务,也是Flink分布式计算框架的核心实现层,支持分布式Stream作业的执行、JobGraph到ExecutionGraph的映射转换、任务调度等,将DataStream和DataSet转成统一可执行的Task Oparator,达到在流式引擎下同时处理批量计算和流式计算的目的。

API & Libraries层:

作为分布式计算框架,Flink同时提供了支撑流计算和批计算接口,未来批计算接口会被弃用,在Flink1.15 版本中批计算接口已经标记为Legacy(已过时),后续版本建议使用Flink流计算接口,基于此接口之上抽象出不同应用类型的组件库,例如:FlinkML 机器学习库、FlinkCEP 复杂事件处理库、Flink Gelly 图处理库、SQL&Table 库。DataSet API 和DataStream API 两者都提供给用户丰富的数据处理高级API,例如:Map、FlatMap操作等,同时也提供了比较底层的ProcessFunction API ,用户可以直接操作状态和时间等底层数据。这些API将在后面进行介绍。

二、Flink运行时架构

Flink整个系统主要由两个组件组成,分别为JobManager和TaskManager,Flink架构也遵循Master-Slave架构设计原则,JobManager为Master节点,TaskManager为Worker(Slave)节点。所有组件之间的通信都是借助于Akka Framework,包括任务的状态以及Checkpoint触发等信息。

Flink运行时架构如下,下面分别介绍下架构中涉及到的角色作用。

Flink Clients客户端

Flink客户端负责将任务提交到集群,与JobManager构建Akka连接,然后将任务提交到JobManager,通过和JobManager之间进行交互获取任务执行状态。Flink客户端Clients不是Flink程序运行时的一部分,作用是向JobManager准备和发送dataflow,之后,客户端可以断开(detached mode)连接或者保持连接(attached mode)。客户端提交任务可以采用CLI方式或者通过使用Flink WebUI提交,也可以在应用程序中指定JobManager的RPC网络端口构建ExecutionEnvironment提交Flink应用。

JobManager

JobManager负责整个Flink集群任务的调度以及资源的管理,从客户端中获取提交的应用,然后根据集群中TaskManager上TaskSlot的使用情况,为提交的应用分配相应的TaskSlots资源并命令TaskManger启动从客户端中获取的应用。

JobManager相当于整个集群的Master节点,Flink HA 集群中可以有多个JobManager,但整个集群中有且仅有一个活跃的JobManager,其他的都是StandBy。JobManager和TaskManager之间通过Actor System进行通信,获取任务执行的情况并通过Actor System将应用的任务执行情况发送给客户端。同时在任务执行过程中,Flink JobManager会触发Checkpoints操作,每个TaskManager节点收到Checkpoint触发指令后,完成Checkpoint操作,所有的Checkpoint协调过程都是在Flink JobManager中完成。当任务完成后,Flink会将任务执行的信息反馈给客户端,并且释放掉TaskManager中的资源以供下一次提交任务使用。

JobManager由三个不同的组件组成:

ResourceManager:

这里说的ResourceManager不是Yarn资源管理中的ResourceManager,而是Flink中的ResourceManager,其主要负责Flink集群资源分配、管理和回收。在Flink中这里说的资源主要是TaskManager节点上的Task Slot计算资源,Flink中每个提交的任务最终会转换成task,每个task需要发送到TaskManager 上的slot中执行(slot是资源调度最小的单位),Flink为不同的环境和资源提供者(例如:Yarn/Kubernetes和Standalone)实现了对应的ResourceManager,这些ResourceManager负责申请启动TaskManager获取Slot资源。

在Standalone集群中,集群启动会同时启动TaskManager,不支持提交任务时启动TaskManager(没有Per-Job任务提交模式),ResourceManager只能分配可用TaskManager的slots,而不支持自行启动新的TaskManager,而基于其他资源调度框架执行任务时,当ResourceManager管理对应的TaskManager没有足够的slot,会申请启动新的TaskManager进程。

Dispatcher

Dispatcher提供了一个REST接口,用来提交Flink应用程序执行,例如CLI客户端或Flink Web UI提交的任务最终都会发送至Dispatcher组件,由Dispatcher组件对JobGraph进行分发和执行,并为每个提交的作业启动一个新的 JobMaster,它还运行 Flink WebUI 用来提供作业执行信息。

JobMaster

JobMaster负责管理整个任务的生命周期,负责将Dispatcher提交上来的JobGraph转换成ExecutionGraph(执行图)结构,通过内部调度程序对ExecutionGraph执行图进行调度和执行,最终向TaskManager中提交和运行Task实例,同时监控各个Task的运行状况,直到整个作业中所有的Task都执行完毕。

JobManager和ResourceManager组件一样,JobManager组件本身也是RPC服务,具备通信能力,可以与ResourceManager进行RPC通信申请任务的计算资源,资源申请到位后,就会将对应Task任务发送到TaskManager上执行,当Flink Task任务执行完毕后,JobMaster服务会关闭,同时释放任务占用的计算资源。所以JobMaster与对应的Flink job是一一对应的。

TaskManager

TaskManager负责向整个集群提供Slot计算资源,同时管理了JobMaster提交的Task任务。TaskManager会提供JobManager从ResourceManager中申请和分配的Slot计算资源,JobMaster最终会根据分配到的Slot计算资源将Task提交到TaskManager上运行。另外,TaskManager还可缓存数据,TaskManager之间可以进行DataStream数据的交换。

一个Flink集群中至少有一个TaskManager,在TaskManager中资源调度的最小单位是 task slot ,一个TaskManger中的task Slot个数决定了当前TaskManger最高支持的并发task个数,一个task Slot中可以执行多个算子。

可以看出,Flink的任务运行其实是采用多线程的方式,这和MapReduce多JVM进程的方式有很大的区别Fink能够极大提高CPU使用效率,在多个任务和Task之间通过TaskSlot方式共享系统资源,每个TaskManager中通过管理多个TaskSlot资源池进行对资源进行有效管理。

大数据Flink进阶(八):Apache Flink架构介绍

2023-03-30 07:21:41

每日视点!今日比特币怎么得到_比特币怎么做杠杆

2023-03-30 05:45:37

博鳌直击丨张兰在博鳌许下新愿望,85岁之前一定要做这件事

2023-03-30 01:15:23

河南科技学院新科学院公办还是民办_河南科技学院新科学院 当前热点

2023-03-29 22:59:07

美安普将花不超315万元回购公司股份 用于实施股权激励或员工持股计划_天天资讯

2023-03-29 21:13:24

救人一命!外卖员敲门无人应答,他贴门一听果断报警|聚焦

2023-03-29 20:27:37

【菜鸟观察】雷霆杰伦攻防一体砍31分4断 状元24+11+5全能表现|百事通

2023-03-29 19:13:51

世界热资讯!收评:燃油、SC原油、棉纱涨超2%,硅铁跌超3%

2023-03-29 17:57:45

诺基亚升级能效软件:可帮助运营商减少多达30%的耗电量_世界简讯

2023-03-29 17:21:21

3月29日电力行业十大熊股一览

2023-03-29 16:50:03

全球热文:换面法

2023-03-29 15:49:55

天天最资讯丨平仓是指什么 新手怎么学习炒股?

2023-03-29 14:55:46

《浪姐4》即将开录,众女星齐聚长沙_全球微头条

2023-03-29 13:58:28

勇士战胜鹈鹕!库里卢尼主导逆转,库明加普尔完美辅助,佩顿拉胯

2023-03-29 12:30:14

或旱涝并存!预测西江广西梧州水文站本年最高洪水位将超警2.5米

2023-03-29 11:39:12

江苏强化财政支农和农资监管助力春耕生产_今日热讯

2023-03-29 11:30:29

深圳进入汛期! 当前时讯

2023-03-29 10:03:29

3月27日草甘膦板块跌幅达2% 天天速递

2023-03-29 09:21:16

Redmi Note 12 Turbo发布:101万跑分 环球聚看点

2023-03-29 08:13:42

头条:JNI知识点总结

2023-03-29 06:46:25

2023年03月29日贵州遵义疫情今日最新情况及遵义疫情防控最新通告今天-焦点速递

2023-03-29 02:51:35

中国南方航空股份(01055)公布2022年业绩 归属于上市公司股东的净亏损约326.82亿元 同比增长1.7倍 天天消息

2023-03-28 23:07:05

美教授:美国若禁TikTok将成“执法噩梦” 是利用仇外心理的表演 世界观速讯

2023-03-28 21:58:47

焦点简讯:TECHSTARACQ-Z(07855)发布年度业绩,亏损7210万港元

2023-03-28 20:17:18

40秒了解:哪些纳税人无需办理个人所得税年度汇算?_全球速看

2023-03-28 18:59:48

当前时讯:下修业绩预告 神开股份2022年最高预亏3000万元

2023-03-28 17:56:45

财报2023|巨子生物收入同增超5成:直销改革带动销售费用翻倍

2023-03-28 17:05:30

【环球快播报】两对情侣的群名(2019年12月14日星座运势)

2023-03-28 16:28:07

沪金期货主力合约日内资金流出超8亿元

2023-03-28 15:48:32

天坛元宇宙发布会举行,启动数字空间“灵境天坛”升级游览体验

2023-03-28 14:18:15

唤醒我歌曲_想念式 苏醒演唱歌曲_当前热门

2023-03-28 13:04:20

甘肃崇信:开往春天的列车-环球热资讯

2023-03-28 11:18:24

确保创文工作全覆盖无死角

2023-03-28 10:24:23

每日观察!金宝:3.28黄金大阴延续走循序,日内1946上买入

2023-03-28 09:26:53

首批2只主板注册制新股中签率出炉 另有8只申购在即 全球最新

2023-03-28 07:53:57

美国田纳西州一学校发生大规模枪击事件

2023-03-28 05:51:37

当前热讯:春季守护行动|惊险!小车深夜追尾,原来是醉驾惹的祸!

2023-03-28 00:53:22

北京网友拍到超亮火流星划过夜空,专家称或有陨石坠落 世界观热点

2023-03-27 22:03:14

焦点资讯:抢拼保促|向国家级园区冲刺 雨花经开区书写高质量发展新篇章

2023-03-27 20:13:04

庄司惠

2023-03-27 18:57:47

【播资讯】合肥城建:注销公司全资子公司

2023-03-27 17:21:41

开阳县综合施策 做到“四及时”抗旱保春耕 世界报道

2023-03-27 16:15:59

2023山西峨眉山纪念币哪些银行可以预约?(附入口) 当前关注

2023-03-27 15:12:45

英汉句法翻译技巧_关于英汉句法翻译技巧的简介

2023-03-27 13:45:46

每日聚焦:2023高考300分公办本科学校有哪些

2023-03-27 12:11:05

4月20日起北京种植牙费用将大幅降低

2023-03-27 11:08:00

挖掘产业优势 推进乡村振兴(经济聚焦)|环球热消息

2023-03-27 10:14:18

【世界新视野】湖北绿色殡葬逐渐成为新风尚 6万逝者回归自然

2023-03-27 08:50:08

桑树叶的作用和功效及副作用_桑树叶的作用

2023-03-27 06:43:31

火线精英怎么获得血钻_火线精英血钻兑换码

2023-03-27 01:45:07

犬决(关于犬决的介绍)

2023-03-26 21:58:28

聚焦:襄阳襄城:关注心理健康教育 呵护青少年健康成长

2023-03-26 20:02:00

40g藕粉要多少开水?|每日热文

2023-03-26 17:23:30

麒麟红茶拿铁粉_麒麟红茶

2023-03-26 15:25:33

电梯门洞尺寸规范_电梯门洞尺寸

2023-03-26 13:01:08

世界焦点!供的多音字组词

2023-03-26 11:45:51

老人故意推倒摩托车案胜诉 老人儿子需赔1.6万!车主回应|百事通

2023-03-26 10:23:46

天天观点:去年我国光伏行业总产值超1.4万亿元

2023-03-26 08:00:14

环球消息!何超琼向太同框,一个优雅大气,一个扮嫩却显老,差距很明显

2023-03-26 03:59:22

环球即时:歌手王琪个人资料简介_歌手王琪的简介

2023-03-25 22:49:59

荠菜煮鸡蛋吃死人

2023-03-25 22:12:24

天天消息!泰戈尔世界上最遥远的距离向表达什么_泰戈尔 世界上最遥远的距离

2023-03-25 20:14:44

武汉首家“小神闲茶馆”开业,茶颜悦色:可容纳四五十人,主推挂耳手冲茶

2023-03-25 17:11:09

成都国际陆港重点片区来厦开启新合作-环球滚动

2023-03-25 15:01:45

电梯怎样防止坠落|世界资讯

2023-03-25 15:10:32

嘢猫传媒_嘢|世界观点

2023-03-25 12:51:35

锦波生物北交所过会,主营业务并非医美方向依据被追问

2023-03-25 10:25:29

【播资讯】PS+4月离库游戏阵容:《火影忍者疾风传4》等7款

2023-03-25 08:34:59

望尽天涯路原文|热门

2023-03-25 07:28:07

空中客车亚洲总装线总装的首架A321neo飞机交付

2023-03-25 05:56:36

强备战 抓实训 严作风 励精兵

2023-03-25 01:07:40

世界快播:东方碳素通过北交所上市委审核 平顶山A股上市公司有望达到4家

2023-03-24 22:13:40

iPhone15Pro“药丸”大小不变:里面还有距离传感器

2023-03-24 20:07:51

打卡四川美食别错过!来看看“天府名厨”“天府名店”都有哪些 重点聚焦

2023-03-24 18:56:55

云顶之弈弗雷尔地图怎么获得

2023-03-24 18:08:49

榆阳区人民代表大会常务委员会办公室

2023-03-24 17:16:25

ETF观察丨全国中成药集采将启,达仁堂跌停,医药ETF基金(159838)盘中溢价 世界播资讯

2023-03-24 16:30:50

全球聚焦:地产主管的工作计划书(优选3篇)

2023-03-24 15:04:01

焦点资讯:2023中山市神湾镇积分入学政策

2023-03-24 13:02:12

全球最新:浅析:《陈情令》魏无羡衣服之黑灰色图纹拼接束袖长袍

2023-03-24 12:03:19

全球热讯:德国手表品牌mido是什么

2023-03-24 11:04:29

地球是一颗处于不断变化中的星球,我们有理由对我们的家园着迷

2023-03-24 10:43:24

恒大的201页重组方案_当前看点

2023-03-24 09:41:10

全球观天下!Block遭做空,“木头姐”旗下方舟投资管理公司遇双重打击

2023-03-24 08:29:06

维信金科(02003) 2022年报:业绩稳健凸显增长韧性 分红0.1港元/股

2023-03-24 06:17:01

qq4g在线是什么意思_4g在线是什么意思

2023-03-24 01:43:16

动态焦点:中钢协骆铁军:加快国内铁矿资源勘探开发和增储上产金十期货3月23日讯,2023年3月23日,中国钢铁工业协会在安徽马鞍山召开“基石计划”国内铁矿资源开发工作座谈会,中钢协副会长骆铁军强调,下一步工作要继续做好以下四点

2023-03-23 22:21:58

王子文电视剧作品

2023-03-23 21:49:13

体彩23072期晒票:制定明确的购彩计划,注意彩票保密 最新

2023-03-23 20:24:40

孩子咳嗽老不好怎么办呀_孩子咳嗽老不好怎么办-当前观察

2023-03-23 18:58:19

环球热消息:黄金定价模式生变背后:央行们正失去对货币环境的控制

2023-03-23 17:38:59

环球百事通!中国gdp历年数据排名_中国gdp历年数据

2023-03-23 16:05:28

汇通能源(600605)3月23日10点19分触及涨停板|全球短讯

2023-03-23 15:29:24

全国高考时间是什么时候 世界新资讯

2023-03-23 14:25:10

大越期货:预期逐步兑现 钢价走势转震荡 天天新资讯

2023-03-23 14:14:51

世界焦点!Opera 桌面浏览器正式上线生成式 AI 工具

2023-03-23 12:10:04

复星入主舍得酒业两年:营收突破60亿元,业绩翻倍,“白酒一哥”猛加仓_环球热推荐

2023-03-23 11:01:27

不具备安全通行条件 云南独龙江景区临时管制

2023-03-23 09:37:33

颜值更高,质感大涨,还换上1.5T!大众新款探歌这回可算花心思了 世界热推荐

2023-03-23 07:58:45

如何给电脑做系统备份

2023-03-23 06:54:00