文章目录

  • 独立模式(Standalone)
  • YARN 集群
    • 1. 会话(Session)模式
    • 单作业(Per-Job)模式
    • 应用(Application)模式


(1) 一般情况下,由客户端(App)通过分发器提供的 REST 接口,将作业提交给JobManager。
(2)由分发器启动 JobMaster,并将作业(包含 JobGraph)提交给 JobMaster。
(3)JobMaster 将 JobGraph 解析为可执行的 ExecutionGraph,得到所需的资源数量,然后向资源管理器请求资源(slots)。
(4)资源管理器判断当前是否由足够的可用资源;如果没有,启动新的 TaskManager。
(5)TaskManager 启动之后,向 ResourceManager 注册自己的可用任务槽(slots)。
(6) 资源管理器通知task manager为新的作业提供slots
(7)TaskManager 连接到对应的 JobMaster,提供 slots。
(8)JobMaster 将需要执行的任务分发给 TaskManager。
(9)TaskManager 执行任务,互相之间可以交换数据。
不同的部署环境下可能有不同的提交流程

独立模式(Standalone)

在独立模式(Standalone)下,只有会话模式和应用模式两种部署方式。两者整体来看流
程是非常相似的:TaskManager 都需要手动启动,所以当 ResourceManager 收到 JobMaster 的
请求时,会直接要求 TaskManager 提供资源。而 JobMaster 的启动时间点,会话模式是预先启
动,应用模式则是在作业提交时启动。

YARN 集群

1. 会话(Session)模式

会话模式下,先启动一个Yarn session ,这个会话会创建一个flink 集群

这里只启动了 JobManager,而 TaskManager 可以根据需要动态地启动。在 JobManager 内
部,由于还没有提交作业,所以只有 ResourceManager 和 Dispatcher 在运行,

(1)客户端通过 REST 接口,将作业提交给分发器。
(2)分发器启动 JobMaster,并将作业(包含 JobGraph)提交给 JobMaster。
(3)JobMaster 向资源管理器请求资源(slots)。
(4)资源管理器向 YARN 的资源管理器请求 container 资源。
(5)YARN 启动新的 TaskManager 容器。
(6)TaskManager 启动之后,向 Flink 的资源管理器注册自己的可用任务槽。
(7)资源管理器通知 TaskManager 为新的作业提供 slots。
(8)TaskManager 连接到对应的 JobMaster,提供 slots。
(9)JobMaster 将需要执行的任务分发给 TaskManager,执行任务。

单作业(Per-Job)模式

Flink 集群不会预先启动,而是在提交作业时,才启动新的 JobManager。

(1)客户端将作业提交给 YARN 的资源管理器,这一步中会同时将 Flink 的 Jar 包和配置上传到 HDFS,以便后续启动 Flink 相关组件的容器
(2)YARN 的资源管理器分配 Container 资源,启动 Flink JobManager,并将作业提交给JobMaster
(3)JobMaster 向资源管理器请求资源(slots)。
(4)资源管理器向 YARN 的资源管理器请求 container 资源。
(5)YARN 启动新的 TaskManager 容器。
(6)TaskManager 启动之后,向 Flink 的资源管理器注册自己的可用任务槽。
(7)资源管理器通知 TaskManager 为新的作业提供 slots。
(8)TaskManager 连接到对应的 JobMaster,提供 slots。
(9)JobMaster 将需要执行的任务分发给 TaskManager,执行任务。
区别只在于 JobManager 的启动方式,以及省去了分发器。当第 2 步作业提交给JobMaster,之后的流程就与会话模式完全一样了。

应用(Application)模式

应用模式与单作业模式的提交流程非常相似,只是初始提交给 YARN 资源管理器的不再,是具体的作业,而是整个应用。一个应用中可能包含了多个作业,这些作业都将在 Flink 集群中启动各自对应的 JobMaster。

flink作业提交流程相关推荐

  1. Flink运行时架构及各部署模式下作业提交流程

    1.运行时架构 1.1 核心组件 1.1.1 JobManager 作业管理器,对于一个提交执行的作业,JobManager 是真正意义上的"管理者"(Master),负责管理调度 ...

  2. 大数据_Flink_数据处理_运行时架构3_yarn上作业提交流程---Flink工作笔记0018

    然后我们再来看看,yarn上面的flink的job提交流程,可以看到 首先flink client,1.先去上传flink的jar包和配置,到HDFS,然后,2再提交job任务,给resourcema ...

  3. spark StandAlone模式下的作业提交流程

    spark StandAlone也有两种作业提交模式,client 和 cluster模式,以下以cluster为例说明 提交代码 ./spark-submit \ --class org.apach ...

  4. YARN作业提交流程剖析

    YARN(MapReduce2) Yet Another Resource Negotiator / YARN Application Resource Negotiator 对于节点数超出4000的 ...

  5. 大数据_Flink_数据处理_运行时架构2_作业提交流程_抽象架构---Flink工作笔记0017

    1.首先先去提交任务,这个提交任务可以是在网页端后台,也可以是在命令行提交任务. 在网页端后台提交就是flink的网页管理端对吧. 2.第1步任务将会被提交到分发器 3.第2步分发器会把任务转交给jo ...

  6. Spark详解(七):SparkContext源码分析以及整体作业提交流程

    1. SparkContext源码分析 在任何Spark程序中,必须要创建一个SparkContext,在SparkContext中,最主要的就是创建了TaskScheduler和DAGSchedul ...

  7. Hadoop作业提交分析(三)

    http://www.cnblogs.com/spork/archive/2010/04/12/1710294.html 通过前面两篇文章的分析,对Hadoop的作业提交流程基本明了了,下面我们就可以 ...

  8. Flink并行度优先级_集群操作常用指令_运行组件_任务提交流程_数据流图变化过程

    Flink并行度优先级(从高到低) sum(1).setParallelism(1) env.setParallelism(1) ApacheFlinkDashboard任务添加并行度配置 flink ...

  9. 本地提交到yarn_Yarn运行Flink作业 0449

    Yarn运行Flink作业 link支持多种部署模式:本地.集群(Standalone/YARN).云(GCE/EC2).Standalone部署模式与Spark类似,这里,我们看一下Flink on ...

  10. Flink-作业提交流程

    Flink-作业提交流程 快速索引 StreamGraph JobGraph ExecutionGraph RuntimeGraph 1 背景 1.1 概述 Flink DataStream一个作业提 ...

最新文章

  1. 计算当前时间对应的本周一、上周一
  2. 关于ajax里面嵌套ajax
  3. 结构体作为参数的传递和返回
  4. Python基础教程(六):list、tuple、dictionary
  5. Arduino 与 SPI 结合使用 以及SPI 深层理解
  6. html表单复选框样式,美化表单——自定义checkbox和radio样式
  7. php socket 不能用,PHP无法用Socket方式连接MySQ
  8. AutoHotkey 命令列表
  9. 如何添加、管理和删除PDF高亮文本?
  10. Python1 关于安装
  11. 知识积累:wps宏 开发工具 vb代码 合并多个excel文件到一个excel文件,并去掉表头的方式,宏合并excel表格,多表格合并
  12. css 之水平居中对齐
  13. 听8位淘宝工程师聊聊他们眼中的元宇宙 | 1024特辑
  14. windows安装ffmpeg,yasm,opencv
  15. 单面打印机双面打印———python pdf拆分重排
  16. 天翼校园网开wifi指南
  17. 完美解决c# 连接oracle US7ASCII字符中文乱码 亲测
  18. Android音频架构概览
  19. 14.3 inline、const、mutable、this与static
  20. TabLayout使用介绍

热门文章

  1. 使用nodejs发送电子邮件
  2. 企业微信hook接口,pc企业微信协议
  3. 论文页眉设置奇数偶数页不同页眉,奇数页为各章题目,偶数页为论文题目
  4. 像素、英寸、厘米之间的换算关系
  5. 48个快速操作office技巧
  6. android 读取 json 字符串文件遇到的一个坑 W/art: Suspending all threads took: xx.xxx ms
  7. redis的二进制安全机制理解
  8. source命令用法详解
  9. 打不开磁盘*或它所依赖的某个快照磁盘
  10. HTTP method 请求方式