实时

您的位置:首页>品牌 >

大数据Flink进阶(十三):Flink 任务提交模式

Flink 任务提交模式

Flink分布式计算框架可以基于多种模式部署,每种部署模式下提交任务都有相应的资源管理方式,例如:Flink可以基于Standalone部署模式、基于Yarn部署模式、基于Kubernetes部署模式运行任务,以上不同的集群部署模式下提交Flink任务会涉及申请资源、各角色交互过程,不同模式申请资源涉及到的角色对象大体相同,下面我们以Flink运行时架构流程为例来总体了解下Flink任务提交后涉及到对象交互流程,以便后续学习不同任务提交模式下任务提交流程。

上图是Flink运行时架构流程,涉及集群启动、任务提交、资源申请分配整个流程,大体步骤如下:


【资料图】

启动Flink集群首先会启动JobManager,Standalone集群模式下同时启动TaskManager,该模式资源也就固定;其他集群部署模式会根据提交任务来动态启动TaskManager;当在客户端提交任务后,客户端会将任务转换成JobGraph提交给JobManager;JobManager首先启动Dispatcher用于分发作业,运行Flink WebUI提供作业执行信息;Dispatcher启动后会启动JobMaster并将JobGraph提交给JobMaster,JobMaster会将JobGraph转换成可执行的ExecutionGraph。JobMaster向对应的资源管理器ResourceManager为当前任务申请Slot资源;在Standalone资源管理器中会直接找到启动的TaskManager来申请Slot资源,如果资源不足,那么任务执行失败;其他资源管理器会启动新的TaskManager,新启动的TaskManager会向ResourceManager进行注册资源,然后ResourceManager再向TaskManager申请Slot资源,如果资源不足会启动新的TaskManager来满足资源;TaskManager为对应的JobMaster offer Slot资源;JobMaster将要执行的task发送到对应的TaskManager上执行,TaskManager之间可以进行数据交换。

以上就是Flink任务提交的整体流程信息,在Flink中任务提交还有多种模式,不同的Flink集群部署模式支持的任务提交模式不同,对应的任务执行流程略有不同,向Flink集群中提交任务有三种任务部署模式,分别如下:

会话模式- Session Mode单作业模式- Per-Job Mode(过时)应用模式- Application Mode

以上三种任务提交模式的主要区别在于Flink集群的生命周期不同、资源的分配方式不同以及Flink 应用程序的main方法执行位置(Client客户端/JobManager)不同。

下面分别进行介绍:

一、会话模式(Session Mode)

Session模式下我们首先会启动一个集群,保持一个会话,这个会话中通过客户端提交作业,集群启动时所有的资源都已经确定,所以所有的提交的作业会竞争集群中的资源。这种模式适合单个作业规模小、执行时间短的大量作业。

优势:只需要一个集群,所有作业提交之后都运行在这一个集群中,所有任务共享集群资源,每个任务执行完成后就释放资源。

缺点:因为集群资源是共享的,所以资源不够了,提交新的作业就会失败,如果一个作业发生故障导致TaskManager宕机,那么所有的作业都会受到影响。

二、单作业模式(Per-Job Mode)

为了更好的隔离资源,Per-job模式是每提交一个作业会启动一个集群,集群只为这个作业而生,这种模式下客户端运行应用程序,然后启动集群,作业被提交给JobManager,进而分发给TaskManager执行,作业执行完成之后集群就会关闭,所有资源也会释放。

优势:这种模式下每个作业都有自己的JobManager管理,独享当下这个集群的资源,就算作业发生故障,对应的TaskManager宕机也不影响其他作业。如果一个Application有多个job组成,那么每个job都有自己独立的集群。

缺点:每个作业都在客户端向集群JobManager提交,如果一个时间点大量提交Flink作业会造成客户端占用大量的网络带宽,会加重客户端所在节点的资源消耗。

注意:Per-Job 模式目前只有yarn支持,Per-job模式在Flink1.15中已经被弃用,后续版本可能会完全剔除,替代的是Application模式,主要原因就是Application模式把main方法的初始化放到了集群组件的JobManager中,这样对于客户端来说从性能上有很大优化。

三、应用模式(Application Mode)

Session 模式和Pre-Job模式都是在客户端将作业提交给JobManager,这种方式需要占用大量的网络带宽下载依赖关系并将二进制包发送给JobManager,此外,我们往往提交多个Flink 作业都是在同一个客户端节点,这样更加剧了客户端所在节点的资源消耗,为了降低客户端这种资源消耗,我们可以使用Application Mode。

Application模式与Per-job类似,只是不需要客户端,每个Application提交之后就会启动一个JobManager,也就是创建一个集群,这个JobManager只为执行这一个Flink Application而存在,Application中的多个job都会共用该集群,Application执行结束之后JobManager也就关闭了。这种模式下一个Application会动态创建自己的专属集群(JobManager),所有任务共享该集群,不同Application之间是完全隔离的,在生产环境中建议使用Application模式提交任务。

以上三种Flink任务部署方式生产环境中优先选择Application模式,三者区别总结如下:

Session 模式是先有Flink集群后再提交任务,任务在客户端提交运行,提交的多个作业共享Flink集群;Per-Job模式和Application模式都是提交Flink任务后创建集群;Per-Job模式通过客户端提交Flink任务,每个Flink任务对应一个Flink集群,每个任务有很好的资源隔离性;Application模式是在JobManager上执行main方法,为每个Flink的Application创建一个Flink集群,如果该Application有多个任务,这些Flink任务共享一个集群。

Flink不同的集群部署模式支持不同的任务提交方式,后续会重点介绍Standalone资源管理和Yarn资源管理任务提交模式的支持。

关键词:

推荐阅读
Flink分布式计算框架可以基于多种模式部署,每种部署模式下提交任务都有相应的资源管理方式,例如:Flink可以基于Standalone部署模式、基于Yarn部

2023-04-10 07:17:37

1、景观绿化空间设计(第二版)是2014年化学工业出版社出版的图书,作者赵彦杰。2、本书从实际应用出发,在系统介绍景观植

2023-04-10 04:39:50

如果我晚上睡不好,第二天我会发现自己几乎一无是处!睡个好觉对于第二天实现最大生产力至关重要。由于在家工作完全改变了我们的日常生活,我们

2023-04-09 23:10:40

欢迎观看本篇文章,小勉来为大家解答以上问题。微信名称大全,超唯美古风微信名字很多人还不知道,现在让我们一起来看看吧!1、

2023-04-09 21:08:41

如今,随着价值超300万元,周杰伦所持有的NFT被盗,而Decentraland的成交价中位数也从2022年的45美元跌至5美元,下跌近90%,仍处在发展起步阶

2023-04-09 18:55:01

适合送给长辈、送养胃和茶叶。因为我们年龄大,而且是中年人,所以送给老年人,最好是是有养生的,有养生的补品,如燕窝之曲的。

2023-04-09 18:34:58

本周,中医药市场变动情况如下所示:产业链相关材料价格追踪一览表(按周涨跌幅幅度排序)品种周涨跌幅(%)月涨跌幅(%)日期价格 数量单位香

2023-04-09 17:27:42

距今900年的古画,画中隐藏一个小人,曾被怀疑是时空穿越者,聊到苏汉臣的画大家都比较喜欢,但喜欢归喜欢,其实他的作品之中还有有一些违背时

2023-04-09 15:39:55

1、的确,我也碰到一样的问题,我用的360一键护眼精灵。2、豆沙护眼色会随着Foxmail一起发出去,有时候整的一段绿色

2023-04-09 14:05:17

正文摘要:@郑州交警微博通报,12月28日早7:40分许,郑州郑新黄河大桥突发团雾,导致郑新黄河大桥新乡到郑州方向,发

2023-04-09 11:58:22

一、题文希腊债务危机引发了全球经济的剧烈动荡,(债务危机是指在国际借贷领域中大量负债,超过了借款者自身的清偿能力,造成无

2023-04-09 09:57:55

湖北日报客户端讯(通讯员闫秀娟高晨星月)“太好了,门前破损的路面终于修补了。”张大姐开心地说。4月6日一大早,施工人员就在洪家沟社区对

2023-04-09 08:41:07

如果说公园城市是成都的幸福底色,那体育公园就是美丽蓉城的活力点缀。2022年,成都共打造了12个体育公园,进一步完善家门口运动空间体系布局

2023-04-09 06:06:00

1、工作日志不用很复杂。2、一个清晰的文本文件是最好的,你可以把它加入到你的程序版本控制系统(versioncontr

2023-04-09 01:16:27

河南的胡辣汤是河南的特色,其中以逍遥镇和北舞渡镇的最为出名。尽管胡辣汤,作为河南的代表美食,也登上了《舌尖上的中国》,但是它并没有像

2023-04-08 21:38:28

1、湖北文理学院官网湖师要好些。湖北师范大学是以教师教育为特色,以服务基础教育为主体的省属综合性重点师范类本科院校。特色鲜明,是一所比

2023-04-08 19:19:39

这身经典的中式风旗袍穿搭,让小姐姐的“东方脸”更显高级和惊艳了,而气质的出众和斟茶动作的优雅,都要让这位小姐姐看上去更加的吸睛和亮眼

2023-04-08 17:37:57

目前,国乒球星们都已经抵达河南新乡,准备明天开始的冠军赛,这是一场十分关键的赛事,冠军奖金24万元。以上就是国乒最近的赛程,世乒赛结束

2023-04-08 16:01:23

近日,vivo品牌副总裁贾净东预热了新机vivoXFlip。vivoXFlip采javascript用轻奢优雅的设计理念,背壳采用紫色菱格纹设计,看起来

2023-04-08 14:11:11

1、在任职期间,会经常遇到需要电子公章的情况。接下来我就教大家如何用word制作电子公章。有需要的朋友可以参考这篇文章。

2023-04-08 12:03:26