Flink 的 Master 节点包含了三个组件: Dispatcher、ResourceManager 和 JobManager。
当用户开始提交一个作业,首先会将用户编写的代码转化为一个JobGraph。
当作业到 Dispatcher 后,Dispatcher 会首先启动一个 JobManager 服务,然后 JobManager 会向 ResourceManager 申请资 源来启动作业中具体的任务。ResourceManager 选择到空闲的 Slot (Flink 架构-基本概念)之后,就会通知相应的 TM 将 该 Slot 分配给指定的 JobManager。
Flink 集群 Master 节点在初始化时,会先调用 ClusterEntrypoint 的 runClusterEntrypoint() 方法启动集群,其整体流程如下图所示: