在Apache Flink中,作业管理器和作业主控器有什么区别?

时间:2019-06-27 09:32:59

标签: apache-flink

在Apache Flink(例如v1.8)中,作业管理器和作业主文件有什么区别?

在日志中类似地使用了Job Manager和Job Master。

Job Manager和Job Master有什么区别?

谢谢!

2 个答案:

答案 0 :(得分:1)

JobManager主要由3个组件组成。

  1. 调度程序-将作业调度到任务管理器
  2. 资源管理器-分配作业所需的资源
  3. JobMaster-监督,协调Flink Job任务。

因此,JobMaster是JobManager的一部分。根据文档,单个JobManager分配给每个单独的Flink应用程序,其中可以包含多个Flink作业。

例如,具有2个作业的Flink应用程序将实例化1个JobManger,但将包含2个JobMaster。

答案 1 :(得分:0)

JobManager和JobMaster具有不同的角色。

对于JobManager,根据JobManager Data Structures section of the documentation

  

在作业执行过程中, JobManager 会跟踪分布式任务,决定何时安排下一个任务(或一组任务),并对已完成的任务或执行失败做出反应。

     

JobManager 接收JobGraph,该JobGraph是由运算符(JobVertex)和中间结果(IntermediateDataSet)组成的数据流的表示。每个运算符都有属性,例如并行性和它执行的代码。另外,JobGraph具有一组附加的库,这些库对于执行操作员的代码是必需的。

根据Javadoc,JobMaster的角色受到更多限制:

  

JobMaster 实施。作业主管负责单个JobGraph的执行。