Flink的运行架构
一、Flink的架构
Flink运行时由两种类型的进程组成:一个JobManager和一个或者多个TaskManager,采用了典型的Master-Slave架构,如下图:
作业管理器JobManager只负责调度,不负责运行。
任务管理器TaskMananger负责执行程序。
二、Flink运行时的组件
Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager),以及分发器(Dispatcher)。因为 Flink 是用 Java 和 Scala 实现的,所以所有组件都会运行在 Java 虚拟机(JVMs)上。
1.作业管理器(JobManager)
1)控制一个应用程序执行的主进程,也就是说每一个应用程序都会被一个不同的JobManager所控制。
2)JobManager会先接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(logical dataflow graph