Apache Flink 进阶(一):Runtime 核心机制剖析( 四 )

Flink Runtime 层的主要架构如图 2 所示 , 它展示了一个 Flink 集群的基本结构 。 Flink Runtime 层的整个架构主要是在 FLIP-6 中实现的 , 整体来说 , 它采用了标准 master-slave 的结构 , 其中左侧白色圈中的部分即是 master , 它负责管理整个集群中的资源和作业;而右侧的两个 TaskExecutor 则是 Slave , 负责提供具体的资源并实际执行作业 。

图2. Flink 集群的基本结构 。 Flink Runtime 层采用了标准的 master-slave 架构 。

其中 , Master 部分又包含了三个组件 , 即 Dispatcher、ResourceManager 和 JobManager 。 其中 , Dispatcher 负责接收用户提供的作业 , 并且负责为这个新提交的作业拉起一个新的 JobManager 组件 。 ResourceManager 负责资源的管理 , 在整个 Flink 集群中只有一个 ResourceManager 。 JobManager 负责管理作业的执行 , 在一个 Flink 集群中可能有多个作业同时执行 , 每个作业都有自己的 JobManager 组件 。 这三个组件都包含在 AppMaster 进程中 。

推荐阅读