Flink 所需组件 -1

用户头像
小知识点
关注
发布于: 2020 年 08 月 19 日
Flink所需组件-1

Flink需要四个不同组件:Dispatch、JobManager、ResourceManager、TaskManager,基于Java虚拟机JVM运行,语言使用Java和Scala



1.Dispatch

(1)会跨多个作业

(2)提供REST接口来让我们提交任务

(3)一旦提交任务Dispatch会启动一个JobManager

(4)将应用转交给JobManager

(5)REST接口可以受到防火墙保护

(6)同时启动一个WEB的UI用来查看任务执行情况

(7)某些提交执行方式可能用不到Dispatch,后面会讲



2.JobManager

(1)作为主进程,控制单个应用执行,每个应用有一个自己的JobManager

(2)JobManager接收:JobGraph(逻辑DataFlow图)、全部类库、Jar

(3)JobManager将JobGraph转换为ExecutionGraph的物理DataFlow,该图包含哪些可以并行执行的任务

(4)JobManager向ResourceManager申请资源

(5)接收TaskManager中的Slot槽

(6)接收到足够多Slot,将ExecutionGraph中的任务分发给TaskManager执行

(7)执行过程中JobManager复杂集中协调工作,如创建检查点、保存点、及状态恢复



3.ResourceManager

(1)针对不同的环境创建不同的ResourceManager

(2)ResourceManager负责管理Flink的处理资源单元---TaskManager处理槽

(3)ResourceManager指示拥有空闲槽的TaskManager将其处理槽提供给JobManager

(4)如果Slot不够,那么ResourceManager会向外部请求资源提供更多TaskManager

(5)ResourceManager负责终止空闲的TaskManager,释放资源



4.TaskManager

(1)Flink工作进程(worker process)

(2)启动多个TaskManager,每个TaskManager有一定数量Slot

(3)处理槽Slot数目限制了每个TaskManager的执行任务数

(4)TaskManager启动后会向ResourceManager注册

(5)当收到ResourceManager指示时,会向JobManager提供一个或多个槽位

(6)JobManager获取到槽位,可以向处理槽中分配任务,同一个应用不同任务TaskManager会有数据交换



总结

主要介绍fink中组件Dispatch、JobManager、ResourceManager、TaskManager、和组件之间的大概关系,后面会详细介绍



读书笔记《基于Apache Flink的流处理》

好的开始是成功的一半

A good start is half the battle



发布于: 2020 年 08 月 19 日 阅读数: 41
用户头像

小知识点

关注

奇迹的出现往往就在再坚持一下的时候! 2018.04.02 加入

还未添加个人简介

评论

发布
暂无评论
Flink所需组件-1