Flink(4)运行时架构

Flink 运行时的组建

  • 作业管理器: JobManager
  • 任务管理器: TaskManager
  • 资源管理器:ResourceManager
  • 分发器:Dispacher

作业管理器(JobManager)

  • 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被不同的JobManager所控制
  • jobManager 会先接受到要执行的应用程序,这个应用程序会包括:作业图(JobGraph),逻辑数据图(logical dataflow graph)和打包了所有的类库和其他资源的JAR包。
  • JobManager 会向资源管理器请求执行任务必要的资源,也就是任务管理器上的插槽(slot),一旦他获得足够的资源,就会将执行图分发到真正运行他们的TaskManager上,而运行过程中,jobManager会负责所需要的中央协调的操纵,比如说检查点(checkpoints)协调。

任务管理器 (TaskManager)

  • Flink 的工作进程。通常在Flink中会有多个TaskManager 运行,每个TaskManager会包含一定数量的插槽(slots).插槽的数量限制了TaskManager能够执行的数量。
  • 启动后,TaskManager会向资源管理器注册他的插槽,收到资源管理的指令后,TaskManager 就会将一个或者多个插槽提供给JobManager调用,JobManager就可以向插槽分配任务(tasks)来执行了。
  • 在执行中,一个taskManager 可以跟其他运行同一个应用程序的TaskManager 交换数据。

资源管理(ResourceManager)

  • 主要负责管理 ,任务管理器的插槽(slot),TaskManager插槽是Flink中定义的处理资源单元。
  • Flink 为不同的环境和资源管理工具提供了不同的资源管理器,比如 YARN,K8s,以及 Standalone部署。

分发起(Dispatcher)

  • 可以跨作业运行,他为应用提供了REST接口,
  • 当一个应用被提交执行的时候,他就会启动并将应用移交给一个JobManager.
  • 他会启动一个 Web UI,方便展示信息

任务提交流程

任务提交流程.png

任务提交流程 (Yarn)

任务提交流程(Yarn).png

任务提交原理

任务调度原理.png

并行度

一个特定算子的子任务的个数被称为其并行度。一般情况下,
一个stream的并行度,可认为就是其所有算子中最大的并行度


并行度.png

TaskManager 和 Slots

  • Flink 中每个TaskManager 都是JVM进程,
    它可能会在独立的线程上执行一个或多个子任务
  • 为了控制一个TaskManager 能接受多少个Task,TaskManager通过
    task slot 来进行控制(一个TaskManager 至少有一个slot)
    taskManager和slot.png

    TaskManager和slot(2).png

    设置 slot 共享组
.slotSharingGroup("red")

结果: 默认的共享组是"default",设置不同的共享组后,整个计算任务会 ,比之前会占多个slot

例如:


并行子任务的分配.png

flink 子任务的分配

flink子任务分配.png

flink子任务分配2.png

flink 的执行步骤图

flink执行步骤图.png

数据传输形式

一个程序中,不同的算子可能具有不同的并行度
算子之间的传输数据的形式可以是 one-to-one (forwarding)的模式
也可以是 redistributing的模式,具体是哪一种形式,取决于算子的种类

one-to-one :

stream维护着分区以及元素的顺序(比如source 和map),着意味着map
算子的子任务生产的元素的个数以及顺序跟source算子的子任务生产的元素的个数 ,顺序相同。
map,fliter,flatMap 等算子都是 one-to-one的对应关系

redistributing:

stream的分区会发生改变。,每个算子的子任务依据所选择的transformation
发送数据到不同的目标任务。例如,keyBy基于hashCode 重分区,而broadcast 和 rebalance
会随机重新分区。这些算子都会引起redistribute过程,而redistribute过程
就类似于spark中的shuffle过程。

任务链

任务链0.png

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

推荐阅读更多精彩内容