Flink-运行架构

flink运行架构涉及到四大组件:
作业管理器(JobManager)

主要作用:是应用程序执行的主进程,换句话说,每一个flink进程都有一个对应的JobManager 所控制;JobManager会接收 应用程序所需要的可执行资源(作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的 JAR 包)。当接收到应用程序以及所属的资源后,会向资源管理器(ResourceManager)请求执行任务必要的资源,也就是任务管理器(TaskManager)上的插槽(slot);然后会将执行图(JobGraph被转化为可执行图)分发到真正运行它们的TaskManager 上。

其次,还涉及检查点(checkpoint)的协调。
资源管理器(ResourceManager):里面包含真正的插槽
主要作用
主要负责管理任务管理器( TaskManager )的插槽( slot ), TaskManger 插槽是 Flink 中
定义的处理资源单元。当 JobManager 申请资源的时候, ResourceManager会将有空闲插槽的 TaskManager 分配给 JobManager;资源不足还会向资源平台发起请求来满足启动taskManager;
其次,还负责终止 空闲的taskManager,释放资源。
任务管理器(TaskManager)
主要作用
Flink 中的工作进程。在实际的flink 应用程序中,会有多个taskManager,每个taskManager 会包含一个或多个 slot(插槽);插槽的数量限制了TaskManager可以执行的任务数量。一旦启动taskManager, 这些taskManager 会向 资源管理器( ResourceManager )注册插槽(slot),然后提供给 任务管理器( JobManager )调用; JobManager就可以分配插槽 执行任务。
分发器(Dispatcher
主要作用
可以跨作业运行,它为应用提交提供了 REST 接口。当一个应用被提交执行时,分发器
就会启动并将应用移交给一个 JobManager 。由于是 REST 接口,所以 Dispatcher 可以作为集
群的一个 HTTP 接入点,这样就能够不受防火墙阻挡。 Dispatcher 也会启动一个 Web UI ,用
来方便地展示和监控作业执行的信息。 Dispatcher 在架构中可能并不是必需的,这取决于应
用提交运行的方式。

相关推荐
starzy199017 小时前
Flink基础之Session-Cluster原理详解:共享集群的利与弊
大数据·flink
starzy199017 小时前
Flink基础之Per-Job-Cluster原理详解:被 Application 取代的模式
java·大数据·flink
面向Google编程1 天前
Kafka 成了 Agent 的「共享内存」,Flink 成了它的「大脑」
flink·kafka·agent
用户3610588626122 天前
Flink基础之Flink批流数据读取处理案例剖析:从文件到 Kafka 的完整代码
大数据·flink
用户3610588626123 天前
Flink基础之有状态计算架构分析:状态存在哪、何时存、如何恢复
大数据·flink
用户3610588626123 天前
Flink基础之有界与无界流详解:批流一体的底层逻辑
大数据·flink
starzy19904 天前
Flink基础之Flink批流数据读取处理案例剖析:从文件到 Kafka 的完整代码
大数据·flink·kafka
starzy19905 天前
Flink基础之有状态计算架构分析:状态存在哪、何时存、如何恢复
大数据·架构·flink
starzy19905 天前
Flink基础之Flink应用场景及特点优势:四大场景与核心优势
大数据·flink
老周聊架构5 天前
Flink 连接器与生态:Kafka Offset 提交修复与 MySQL Binlog 延迟指标
mysql·flink·kafka