当前位置: 首页 > article >正文

【Flink】系统架构

在这里插入图片描述

DataStream API 将你的应用构建为一个 job graph,并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上,后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task slot 中执行。

client

Client 不是运行时和程序执行的一部分,而是用于准备数据流并将其发送给 JobManager。

JobManager

JobManager 具有许多与协调 Flink 应用程序的分布式执行有关的职责:它决定何时调度下一个 task(或一组 task)、对完成的 task 或执行失败做出反应、协调 checkpoint、并且协调从失败中恢复等等。这个进程由三个不同的组件组成:

  • ResourceManager

    ResourceManager 负责 Flink 集群中的资源提供、回收、分配 - 它管理 task slots,这是 Flink 集群中资源调度的单位(请参考TaskManagers)。Flink 为不同的环境和资源提供者(例如 YARN、Kubernetes 和 standalone 部署)实现了对应的 ResourceManager。在 standalone 设置中,ResourceManager 只能分配可用 TaskManager 的 slots,而不能自行启动新的 TaskManager。

  • Dispatcher

    Dispatcher 提供了一个 REST 接口,用来提交 Flink 应用程序执行,并为每个提交的作业启动一个新的 JobMaster。它还运行 Flink WebUI 用来提供作业执行信息。

  • JobMaster

    JobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。所以JobMaster和具体的Job是一一对应的,多个Job可以同时运行在一个Flink集群中, 每个Job都有一个自己的JobMaster。

TaskManagers

TaskManager(也称为 worker)执行作业流的 task,并且缓存和交换数据流。

Flink 运行时由两种类型的进程组成:一个 JobManager 和一个或者多个 TaskManager。


http://www.kler.cn/news/134380.html

相关文章:

  • 力扣372周赛
  • 微机原理练习题_13
  • 计算机网络——物理层-信道的极限容量(奈奎斯特公式、香农公式)
  • ElasticSearch快速入门
  • 【论文阅读】VideoComposer: Compositional Video Synthesis with Motion Controllability
  • 2023/11/15JAVA学习(线程池,Executors,网络编程,InetAddress,UDP,TCP,DatagramSocket)
  • 栈和队列概念
  • Nginx的核心配置文件
  • 自学人工智能难吗?
  • SpringBoot整合Redis使用基于注解的缓存
  • AIGC ChatGPT4 读取接口文件并进行可视化分析
  • 第14届蓝桥杯青少组python试题解析:23年5月省赛
  • 持续集成交付CICD:Jenkins通过API触发流水线
  • SDL2 播放音频(MP4)
  • 【linux】进行间通信——共享内存+消息队列+信号量
  • 开源与闭源:创新与安全的平衡
  • STM32CubeMX学习笔记-CAN接口使用
  • Java SPI机制
  • 探索Scrapy中间件:自定义Selenium中间件实例解析
  • JVM-HotSpot虚拟机对象探秘
  • 原理Redis-动态字符串SDS
  • 04 后端增删改查【小白入门SpringBoot + Vue3】
  • 目标检测YOLO实战应用案例100讲-基于机器视觉的水稻病虫害监测预警(续)
  • Git命令总结-常用-后续使用频繁的再添加~
  • RSocket 与 gRPC 基准测试
  • 【开题报告】疫苗在线预约小程序的设计与实现
  • python数据可视化
  • WPF中行为与触发器的概念及用法
  • 2023年【广东省安全员C证第四批(专职安全生产管理人员)】考试题库及广东省安全员C证第四批(专职安全生产管理人员)考试试卷
  • 系统时间和JVM的Date时间不一致问题解决