Flink运行架构-运行组件介绍

Flink的运行时主要包括JobManager、ResourceManager、TaskManager和Dispatcher四个组件。JobManager负责作业执行的协调,包括JobGraph到ExecutionGraph的转换和checkpoint的协调。ResourceManager管理TaskManager的插槽资源。TaskManager执行任务并与其他TaskManager交换数据。Dispatcher则接收和分发应用程序。在YARN模式下,FlinkClient提交任务给ResourceManager,后者启动ApplicationMaster即JobManager,然后申请和分配TaskManager资源。

Flink 运行时的组件介绍

Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作(因为 Flink 是用 Java 和 Scala 实现的,所以所有组件都会运行在 Java 虚拟机上)

一、作业管理器 (JobManager)

JobManager控制一个应用程序执行的主进程叫JobMaster,提交的每一个应用程序都会被一个不同的 JobMaster 所控制执行。
JobMaster 会先接收到要执行的应用程序,这个应用程序会包括: 作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的 JAR 包。JobMaster 会把 JobGraph 转换成一个物理层面的数据流图,这个图被叫做 “执行图”(ExecutionGraph),包含了所有可以并发执行的任务。

JobMaster 会向资源管理器(ResourceManager)请求执行任务必要的资源,也就是任务管理器TaskManager)上的插槽(slot)。一旦它获取到了足够的资源,就会将执行分发到真正运行它们的TaskManager 上。

而在运行过程中,JobMaster 会负责所有需要中央协调的操作,比如说检查点(checkpoints)的协调。

二、资源管理器(ResourceManager)

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

当 JobManager 申请插槽资源时,ResourceManager会将有空闲插槽的 TaskManager 分配JobManager。如果 ResourceManager 没有足够的插槽来满足 JobManager的请求,它还可以向资源提供平台发起会话,以提供启动 TaskManager进程的容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值