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

Flink 运行架构和核心概念

Flink 运行架构和核心概念

几个角色的作用:

  • 客户端:提交作业
  • JobManager进程 任务管理调度
    • JobMaster线程 一个job对应一个JobMaster 负责处理单个作业
    • ResourceManager 资源的分配和管理,资源就是任务槽
    • 分发器 提交应用,为每一个新提交的作业启动一个新的JobMaster 组件
  • TaskManager 处理数据,每个TaskManager 都包含一定的slots

在这里插入图片描述

作业提交过程(Standlone)

  1. 提交作业到客户端
  2. 客户端解析参数 提交任务到JobManager
  3. JobManager通过分发器启动并提交应用(作业图 JobGraph),一个作业对应一个JobMaster
  4. JobMaster 将作业图 解析为可执行的执行图 Execution Graph,得到所需要的资源数,向资源管理器请求slots
  5. 资源管理器 向TaskManager请求资源 也就是slots
  6. TaskManager 会向资源管理器注册自己的任务槽,并提供
  7. JobMaster 分发任务给TaskManager

核心概念

并行度

特定算子子任务的个数。

设置有三种方式

  • 代码中设置

stream.map(word -> Tuple2.of(word, 1L)).setParallelism(2);

  • 提交应用时设置 全局设置

bin/flink run –p 2 –c com.atguigu.wc.SocketStreamWordCount

./FlinkTutorial-1.0-SNAPSHOT.jar

  • 配置文件中设置

在这里插入图片描述

算子

算子有两种

  • 一对一 类似于窄依赖
  • 重分区 类似于shuffle

并行度相同的 一对一的算子可以合并 成为 算子链

// 禁用算子链

.map(word -> Tuple2.of(word, 1L)).disableChaining();

// 从当前算子开始新链

.map(word -> Tuple2.of(word, 1L)).startNewChain()

任务槽

TaskManager所分配的特定的资源(内存)

任务槽数量的设置,在配置文件中 默认的数量是1

taskmanager.numberOfTaskSlots: 8

任务槽只是隔离内存 不隔离cpu所以 一般会把任务槽的数量设置为cpu的核数,避免不同任务对cpu的争抢。

同一个作业中的不同任务节点的并行子任务,可以放到同一个slot中执行

任务槽和并行度的关系:

占用任务槽的数量等于作业的最大并行度。

参考资料:25_Flink运行时架构_核心概念_并行度设置&优先级_哔哩哔哩_bilibili

http://www.lryc.cn/news/237651.html

相关文章:

  • 中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)
  • Linux 命令补充
  • HTTP常见面试题(小林coding版总结)
  • 一整个分析模型库,大数据分析工具都这么玩了吗?
  • 最新企业服务总线ESB的国内主要厂商和开源厂商排名,方案书价格多少
  • react重要知识点(面经)
  • 面试题-6
  • 九宫格 图片 自定义 路径
  • Leetcode经典题目之“双指针交换元素“类题目
  • 计算机基础知识54
  • 深度系统(Deepin)开机无法登录,提示等待一千五百分钟
  • 工具及方法 - 多邻国: Duolingo
  • Redis篇---第十一篇
  • linux CentOS7 安装git 配置秘钥公钥克隆代码
  • 深度学习之生成唐诗案例(Pytorch版)
  • 算法设计与分析算法实现——删数问题
  • 基于Vue+SpringBoot的超市账单管理系统 开源项目
  • 【Linux 内核分析课程作业 1】mmap 实现一个 key-valueMap
  • docker compose使用教程(docker-compose教程)
  • 印刷企业实施MES管理系统需要哪些硬件设施
  • Java JSON字符串替换其中对应的值
  • Android VSYNC发展历程
  • 外呼系统作用和优势有哪些okcc,ai源码
  • 智元机器人岗位内推
  • el-popover和el-tooltip样式修改(普通的组件样式修改方法,对popover是不生效的)
  • 【AI实用技巧】GPT写sql统计语句
  • LeetCode(31)无重复字符的最长子串【滑动窗口】【中等】
  • 天猫超市电商营销系统:无代码开发实现API连接集成
  • element表格分页+数据过滤筛选
  • 小程序判断是否授权位置信息和手动授权