Flink组件
Flink 组件
文章图片
Master :
- AppMaster(AM), AM包含以下三个组件:
- Dispatcher: Dispatcher负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 JobManager 组件.
- JobManage: 每个job都有一个属于自己的JM.
- ResourceMange: 一个集群只有一个RM,负责资源的管理.
Slave:
- TaskManage(TM): 包含以下组件
- TaskExecutor: 实际任务的执行者,它可能有多个槽位,每个槽位执行一个具体的子任务
- Slot: 目前 Flink 中 TaskExecutor 的资源是通过 Slot 来描述的,一个 Slot 一般可以执行一个具体的 Task,但在一些情况下也可以执行多个相关联的 Task。
TaskExecutor 是实际任务的执行者,它可能有多个槽位,每个槽位执行一个具体的子任务。每个 TaskExecutor 会将自己的槽位注册到 SlotManager 上,并汇报自己的状态,是忙碌状态,还是处于一个闲置的状态
文章图片
SlotManager 既是 Slot 的管理者,也负责给正在运行的任务提供符合需求的槽位。还记录了当前积压的槽位申请。当槽位不够的时候向Flink的ResourceManager申请容器。
Pending slots 积压的 Slot 申请及计数器
Flink 的 ResourceManager 则负责了与 Yarn 的 ResourceManager 进行交互,进行一系列例如申请容器,启动容器,处理容器的退出等等操作。因为采用的是异步申请的方式,所以还需要记录当前积压的容器申请,防止接收过多容器。
【Flink组件】Pending container request 积压容器的计数器
AMRMClient 是异步申请的执行者,CallbackHandler 则在接收到容器和容器退出的时候通知 Flink 的 ResourceManager。
Yarn 的 ResourceManager 则像是一个资源的分发器,负责接收容器请求,并为 Client 准备好容器。
推荐阅读
- 动态组件与v-once指令
- vue组件中为何data必须是一个函数()
- (六)Component初识组件
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- vuex|vuex 基础结构
- SwiftUI|SwiftUI iOS 瀑布流组件之仿CollectionView不规则图文混合(教程含源码)
- Vue组件之事件总线和消息发布订阅详解
- vue.js组件开发
- TCP组件设计篇(详细设计)
- Spring注解05|Spring注解05 @Import 给容器快速导入一个组件