8.一文搞定Flink单作业提交模式(per-job)的运行时状态

1..运行时架构

在Flink进行数据处理的时候,有两个最重要的两个组件,分别是:作业管理器(JobManager)和任务管理器(TaskManager)。对于一个提交执行的作业,JM是真正的管理者,负责管理和调度工作。如果集群没有配置高可用的话,只能有一个JM。TM是负责工作的工作者,负责执行任务和处理数据,所以可以有很多个。

1.1 JobManager

整个JM由三个部分组成,分别是JobMaster、ResourceManager、Dispatcher。

1.1.1 JobMaster

JMaster是JManager中最核心的组件,负责处理单独的作业。所以每一个Job都会有一个对应JobMaster与之对应,多个job可以同时运行在一个FLink集群中,也就证明一个Flink集群中可以有多个JobMaster同时存在。在作业被提交的时候,JMaster会率先接受到要执行的应用。这些应用包括:Jar包、数据流图(dataflow graph)、作业图(JobGraph)。然后将接收到的作业图转换成为一个物理层面的数据流图,也就是执行图,这个执行图包含了所有要并发执行的任务。随后JMaster会根据这个执行图去到RM中申请必要的资源。一旦获得到了足够的资源,就会将执行图发送到要运行执行图的TaskMaster上面。并且在程序运行的过程中,JobMaster会负责协调所有的需要中央协调的工作,如保存点机制。

1.1.2ResourceManager

RM在Flink的集群中只有一个,它主要负责的是资源的分配与管理,也就是对TaskManager上的solt的分配工作。并且在面对不同的环境的时候,RM也有不同的体现。如果是standalone,因为TM是独立运行的,所有RM只能分发可用的TM的任务槽,没办法单独启动TM。但是如果是yarn的工作模式下,RM能够将有空闲的TM发送给JMaster,如果资源不够使用的话,就会向yarn发起请求提供启动TM的容器。并且如果有的TM处于空闲状态,RM还负责停止它们的工作。

1.1.3 Dispatcher

它主要负责提供Rest风格的接口来提交应用。并且还负责为每一个新提交的作业启动一个新的JMaster组件,并且还会启动一个WEB UI,方便用来展示和键控作业执行的信息。

1.2 TaskManager

TM负责FLink集群中的具体工作部分,数据流的计算就是由这个组件来完成的,每一个TM都会有一定数量的任务槽,这个任务槽是一个TM上最小的资源封装单位,solt的数量决定了TM能够并行处理的任务的数量。在TM启动之后,会向RM注册自己的solt,当收到RM对其发送的指令之后,就会根据要求发送能够提供计算的solt给JMaster调用,这样数据计算就能够实现了,并且在进行计算的过程中,TaskManager可以缓冲数据,还能够与其他的TM交互完成数据的交换。


2.作业提交流程(yarn)

因为我本人所接触的Flink的部署模式都是基于资源管理平台yarn来实现工作的,采用的作业提交方式也是通过per-job提交方式进行提交的,所以在本次讲述的过程中,也是以这个内容为蓝本展开讲解。

yarn-per-job作业提交流程:
在单作业模式下,Flink集群不会预先启动,而是在进行作业提交的时候,才会启动新的JobManager。


per-job作业提交流程.jpg

1.客户端向yarn提交作业,并且需要将Flink的Jar包和配置文件信息上传到HDFS,以便后续启动FLink相关组件的容器。
2.YARN资源管理器分配Container资源,启动Application Master,这个APP里面包含了Flink的JobManager,并且要将提交上来的作业交给JMaster。
3.JMaster向flink的rm请求资源。
4.flink的rm向yarn请求container资源。
5.yarn启动包含TM的container资源。
6.TM向JMaster注册自己拥有的solt数量。
7.flink的RM向TM申请solt。
8.TM连接到对应的JMaster,然后通过solt。
9.JMaster将要执行的任务分发给TM,执行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容