Flink运行时架构

最重要的两大组件:作业管理器(JobManager) 和 任务管理器(TaskManager),JM是真正意义上的管理者(Master),赋值管理调度,不考虑高可用的情况下只能有一个; 而TM是工作者,(Worker\Slave),负责执行任务处理数据,可以一个或多个.

~~~客户端:客户端不属于处理系统的一部分,只负责作业的提交.

        客户端的工作原理: 调用程序的main()方法,将代码转换成"数据流图",并且最终生成作业图,一并发送给JM. 提交之后,任务的执行和客户端就没关系了.当然客户端是否断开与JM的连接是可以选择的,也可以让继续保持连接.客户端可以随时连接到JobManager,获取当前作业的状态和执行结果,也可以发送请求取消作业。

 (

JobManager和TaskManagers可以以不同的方式启动:

        1.直接在机器上启动

        2.在容器中启动

        3.由资源管理平台调度启动,比如YARN、K8S

 )

~~~作业管理器(JobManager)

        JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用都应该被唯一的JobManager所控制执行。

三个组件:

1. JobMaster(核心)

        JobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。所以JobMaster和具体的Job是一一对应的,多个Job可以同时运行在一个Flink集群中, 每个Job都有一个自己的JobMaster。

        在作业提交时,JobMaster会先接收到要执行的应用。JobMaster会把JobGraph转换成一个物理层面的数据流图,这个图被叫作“执行图”,它包含了所有可以并发执行的任务。JobMaster会向资源管理器(ResourceManager)发出请求,申请执行任务必要的资源。一旦它获取到了足够的资源,就会将执行图分发到真正运行它们的TaskManager上。

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

 2. 资源管理器(ResourceManager)

        ResourceManager主要负责资源的分配和管理,在Flink 集群中只有一个。所谓“资源”,主要是指TaskManager的任务槽(task slots)。任务槽就是Flink集群中的资源调配单元,包含了机器用来执行计算的一组CPU和内存资源。每一个任务(Task)都需要分配到一个slot上执行。

        这里注意要把Flink内置的ResourceManager和其他资源管理平台(比如YARN)的ResourceManager区分开。

3. 分发器(Dispatcher)

        Dispatcher主要负责提供一个REST接口,用来提交应用,并且负责为每一个新提交的作业启动一个新的JobMaster 组件。Dispatcher也会启动一个Web UI,用来方便地展示和监控作业执行的信息。(Dispatcher在架构中并不是必需的,在不同的部署模式下可能会被忽略掉。)

~~~任务管理器(TaskManager)> worker

        TaskManager是Flink中的工作进程,做具体的数据流计算. Flink集群中必须至少有一个TaskManager;每一个TaskManager都包含了一定数量的任务槽(task slots)。Slot是资源调度的最小单位,slot的数量限制了TaskManager能够并行处理的任务数量。

        启动之后,TaskManager会向资源管理器注册它的slots;收到资源管理器的指令后,TaskManager就会将一个或者多个槽位提供给JobMaster调用,JobMaster就可以分配任务来执行了。

        在执行过程中,TaskManager可以缓冲数据,还可以跟其他运行同一应用的TaskManager交换数据。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值