Flink 执行流程

Flink 执行流程

  1. Flink任务提交后,Client向HDFS上传Flink的Jar包和配置
  2. 向Yarn ResourceManager提交任务,ResourceManager分配Container资源
  3. 通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,创建Dispatcher和ResourceManager
  4. Client向Dispatcher提交job
  5. Dispatcher为job启动一个JobManager
  6. JobManager向ResourceManager申请slot
  7. ResourceManager向资源调度平台(Yarn)申请资源启动TaskManager
  8. 资源调度平台分配资源(Yarn Container)后,由ApplicationMaster通知资源所在节点的NodeManager启动TaskManager
  9. NodeManager加载Flink的Jar包和配置构建环境并启动TaskManager,启动后直接向JobManager注册自己
  10. JobManager资源足够后运行job后,向taskManager的slot中deploy 任务

注:资源调度平台(Yarn)只提供资源,之后由flink自己调度分配的资源