精华内容
下载资源
问答
  • 文章目录什么是flink运行架构计算框架运行模式 什么是flink 一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。 下载地址 ...

    什么是flink

    • 一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
    • 下载地址

    运行架构

    • 计算架构:JobManager和TaskManger
      • JobManager主要负责调度task,协调checkpoint已经错误恢复等
      • TaskManger具体任务执行

    计算框架

    在这里插入图片描述

    • Flink SQL,原型是阿里2019开源 Blink代码。
      • Flink SQL定义sql语句,代码加载实现数据结构化和处理功能。
    • Table API:
      • 有source和sink概念,source是输入源,sink为输出源,代码有相关sql方法,无需定义sql语句
    • DataStream和DataSetAPI,纯代码实现计算,一个负责实时,一个服务批处理。

    运行模式

    • 资料
    • 三种模式
      • 模式一:Local(本地)模式
        • 本地主机计算
      • 模式二:Standalone(独立)模式
        • 无hadoop集群,flink自身集群运行。
      • on yarn模式
        • Yarn-session 模式
          • 预先在yarn上面划分一部分资源给flink集群用,flink提交的所有任务,共用这些资源
        • Single job 模式
          • 每次提交任务,都会创建一个新的flink集群
    展开全文
  • 首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程,然后介绍Flink 的Standalone运行架构,最后对Flink on YARN的两种模式进行了详细剖析。Flink Runtime作业执行流程分析整体架构图Flink Runtime 层的主要...
    本文主要介绍 Flink Runtime 的作业执行的核心机制。首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程,然后介绍Flink 的Standalone运行架构,最后对Flink on YARN的两种模式进行了详细剖析。

    Flink Runtime作业执行流程分析

    整体架构图

    Flink Runtime 层的主要架构如下图所示,它展示了一个 Flink 集群的基本结构。整体来说,它采用了标准 master-slave 的结构,master负责管理整个集群中的资源和作业;TaskExecutor 则是 Slave,负责提供具体的资源并实际执行作业。

    44e6d28341f76d7564f84a08ee8c932c.png

    执行流程分析

    • 组件介绍

    Application Master 部分包含了三个组件,即 Dispatcher、ResourceManager 和 JobManager。其中,Dispatcher 负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 JobManager 组件。ResourceManager 负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager。JobManager 负责管理作业的执行,在一个 Flink 集群中可能有多个作业同时执行,每个作业都有自己的 JobManager 组件。这三个组件都包含在 AppMaster 进程。 TaskManager主要负责执行具体的task任务,StateBackend 主要应用于状态的checkpoint。 Cluster Manager是集群管理器,比如Standalone、YARN、K8s等。
    • 流程分析

    1.当用户提交作业的时候,提交脚本会首先启动一个 Client进程负责作业的编译与提交。它首先将用户编写的代码编译为一个 JobGraph,在这个过程,它还会进行一些检查或优化等工作,例如判断哪些 Operator 可以 Chain 到同一个 Task 中。然后,Client 将产生的 JobGraph 提交到集群中执行。此时有两种情况,一种是类似于 Standalone 这种 Session 模式,AM 会预先启动,此时 Client 直接与 Dispatcher 建立连接并提交作业即可。另一种是 Per-Job 模式,AM 不会预先启动,此时 Client 将首先向资源管理系统 (如Yarn、K8S)申请资源来启动 AM,然后再向 AM 中的 Dispatcher 提交作业。

    2.当作业到 Dispatcher 后,Dispatcher 会首先启动一个 JobManager 组件,然后 JobManager 会向 ResourceManager 申请资源来启动作业中具体的任务。如果是Session模式,则TaskManager已经启动了,就可以直接分配资源。如果是per-Job模式,ResourceManager 也需要首先向外部资源管理系统申请资源来启动 TaskExecutor,然后等待 TaskExecutor 注册相应资源后再继续选择空闲资源进程分配,JobManager 收到 TaskExecutor 注册上来的 Slot 后,就可以实际提交 Task 了。

    3.TaskExecutor 收到 JobManager 提交的 Task 之后,会启动一个新的线程来执行该 Task。Task 启动后就会开始进行预先指定的计算,并通过数据 Shuffle 模块互相交换数据。

    Flink Standalone运行架构

    Flink Standalone运行架构如下图所示:

    3c0b29617238009867f772f2ef04e778.png

    Standalone模式需要先启动Jobmanager和TaskManager进程,每一个作业都是自己的JobManager。 Client:任务提交,生成JobGraph

    JobManager:调度Job,协调Task,通信,申请资源

    TaskManager:具体任务执行,请求资源

    Flink On YARN运行架构

    关于YARN的基本架构原理,详见另一篇我的另一篇文章YARN架构原理

    Per-Job模式

    Per-job 模式下整个 Flink 集群只执行单个作业,即每个作业会独享 Dispatcher 和 ResourceManager 组件。此外,Per-job 模式下 AppMaster 和 TaskExecutor 都是按需申请的。因此,Per-job 模式更适合运行执行时间较长的大作业,这些作业对稳定性要求较高,并且对申请资源的时间不敏感。

    1.独享Dispatcher与ResourceManager

    2.按需申请资源(TaskExecutor)

    3.适合执行时间较长的大作业

    d743a454893ef233d22cae8d521735c5.png

    Session模式

    在 Session 模式下,Flink 预先启动 AppMaster 以及一组 TaskExecutor,然后在整个集群的生命周期中会执行多个作业。可以看出,Session 模式更适合规模小,执行时间短的作业。

    1.共享Dispatcher与ResourceManager

    2.共享资源

    3.适合小规模,执行时间较短的作业

    3c049ea9b07c90abf94471c59b830fe5.png

    展开全文
  • Flink整体架构运行模式任务提交流程(yarn模式)任务调度原理客户端不是运行时和程序执行的一部分,它用于准备并发送dataflow(JobGraph)给Master(JobManager),然后,客户端断开连接或者维持连接以等待接收计算结果。...

    Flink整体架构

    运行模式

    任务提交流程(yarn模式)

    任务调度原理

    客户端不是运行时和程序执行的一部分,它用于准备并发送dataflow(JobGraph)给Master(JobManager),然后,客户端断开连接或者维持连接以等待接收计算结果。

    当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager。由 Client 提交任务给 JobManager,JobManager 再调度任务到各个 TaskManager 去执行,然后 TaskManager 将心跳和统计信息汇报给 JobManager。TaskManager 之间以流的形式进行数据的传输。上述三者均为独立的 JVM 进程。

    各角色作用:

    Client

    Client 为提交 Job 的客户端,可以是运行在任何机器上(与 JobManager 环境连通即可)。提交 Job 后,Client 可以结束进程(Streaming的任务),也可以不结束并等待结果返回。

    JobManager

    JobManager 主要负责调度 Job 并协调 Task 做 checkpoint,从 Client 处接收到 Job 和 JAR 包等资源后,会生成优化后的执行计划,并以 Task 为单元调度到各个 TaskManager 去执行。

    TaskManager

    TaskManager 在启动的时候就设置好了槽位数(Slot),每个 slot 能启动一个 Task,Task 为线程。从 JobManager 处接收需要部署的 Task,部署启动后,与自己的上游建立连接,接收数据并处理。

    Slot划分

    展开全文
  • Flink 分布式运行模式

    2019-01-17 20:09:30
    分布式运行模式如下图:  JobManagers(Master): 主要的作用是管理tasks;安排checkpoint;失败以后重启 。 通常情况下只有一个JobManager,但是如果是需要其成为高可用的集群,可以配置多个JobManager,但是...

    分布式运行模式如下图:

             JobManagersMaster): 主要的作用是管理tasks;安排checkpoint;失败以后重启 。 通常情况下只有一个JobManager,但是如果是需要其成为高可用的集群,可以配置多个JobManager,但是只有一个活跃的JobManager,其他的都是standby

            TaskManagersworker): 主要是用来在各个节点执行task,同时汇报信息给JobManager

    展开全文
  • Flink local模式运行SocketWordcount

    千次阅读 2017-06-11 21:52:36
    local模式启动flink./bin/start-local.sh查看启动日志tail log/flink-*-jobmanager-*.log启动netcat作为本地服务器生产数据nc -l 9000提交flink程序,该程序会连接socket,等待输入数据./bin/flink run examples/...
  • flink部署模式

    2021-01-21 18:01:34
    flink部署模式 \X001 Flink架构 \X002 flink部署模式 flink部署模式分为3种: application模式 app的main()运行在jobmanger上。只能运行一个Job,job运行完后jobmanager关闭了。 preJob模式 app的main()运行在...
  • Flink local模式下,运行Flink自带的jar包一直报错 启动Flink: ![图片说明](https://img-ask.csdn.net/upload/201911/22/1574391817_772547.png) 执行: bin/flink run examples/streaming/...
  • Flink运行架构

    2019-10-28 14:13:50
    Flink运行架构1 任务提交流程(yarn模式)2 任务调度原理各角色作用:ClientJobManagerTaskManager 1 任务提交流程(yarn模式) Flink任务提交后,Client向HDFS上传Flink的Jar包和配置, 之后向Yarn ...
  • Flink本地模式简易安装和运行

    千次阅读 2019-03-14 16:36:40
    环境要求 如果是编译安装需要maven,这里是直接使用编译好的二进制文件进行解压安装,因此只需要jdk1.8即可。...Flink版本中包含了匹配的hadoop的版本和scala的版本,为以后的YARN模式的安装做准备(...
  • Flink 运行架构

    千次阅读 2019-07-09 20:13:15
    1.任务提交流程(yarn模式Flink任务提交后,Client向HDFS上传Flink的Jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Container资源并通知对应的NodeManager启动ApplicationMaster,...
  • flink运行架构

    千次阅读 2020-02-17 09:55:15
    任务提交流程(yarn模式Flink任务提交后,Client向HDFS上传Flink的Jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Container资源并通知对应的NodeManager启动ApplicationMaster,...
  • 文章目录一、Flink运行时的组件1.1作业管理器(JobManager)1.2资源管理器(ResourceManager)1.3任务管理器(TaskManager)1.4分发器(Dispatcher)二、任务提交流程2.1任务提交和组件交互流程2.2Yarn模式任务提交...
  • Flink部署模式

    2019-03-18 16:53:00
    说明:本文为《Flink大数据项目实战》学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习CSDN官网课程: ...本地模式的安装唯一需要的只是 Java 1.7.x或更高版本,本地运行会启...
  • Flink单机模式安装

    千次阅读 2019-07-25 16:29:04
    Linux运行环境搭建一个单机版Flink运行环境 下载Flink程序包:flink-1.8.1-bin-scala_2.11.tgz 部署在Linux服务器上,然后以单机模式运行 # cd flink # tar xzf flink-1.8.1-bin-scala_2.11.tgz # cd flink-1.8.1 ...
  • Flink运行架构剖析

    2019-10-23 13:36:27
    首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程,然后介绍Flink 的Standalone运行架构,最后对Flink on YARN的两种模式进行了详细剖析。 Flink相关资料 Flink Runtime作业执行流程分析 整体架构图 Flink...
  • Flink local模式部署

    2020-07-08 10:13:25
    flink的local模式运行在单个jvm中。同时local方便快速测试。 需求: Java 1.8.xor higher, ssh 1、下载 https://flink.apache.org/downloads.html 2、解压 [root@hadoop01 local]# tar -zxvf /home/flink-...
  • import org.apache.flink.api.java.utils.ParameterTool import org.apache.flink.streaming.api.scala._ /** * Created by ZhangJintao on 2020/9/2. */ object StreamWordCount { def main(args: Array...
  • Flink三种运行方式:Local、Standalone、On Yarn。成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2.6 开发工具: IntelliJ IDEA 一.Local模式 解压: tar -zxvf flink-1.6.2-bin...
  • 在Local模式下仅模拟cluster集群,仅启动JobManager完成应用的运行。JobManager进程信息如下: 启动:./bin/start-cluster.sh 停止:./bin/stop-cluster.sh 提交作业方式 ./flink run -p 1 ../examples/batch/...
  • 点击上方 "zhisheng"关注,星标或置顶一起成长Flink 从入门到精通系列文章来源 |https://segmentfault.com/a/11900000...
  • [Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local、Standalone、On Yarn。成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2集群环境:Hadoop2.6开发工具: ...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 330
精华内容 132
关键字:

flink运行模式