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

Flink入门之核心概念(三)

任务槽

  • TaskSlots: 任务槽,是TaskManager提供的用于执行Task的资源(CPU + 内存)

  • TaskManager提供的TaskSlots的个数:主要由Taskmanager所在机器的CPU核心数来决定,不能超过CPU的最大核心数

    • 1.可以在flink/conf/flink-conf.yaml文件中的numberOfTaskSlot配置
    • 2.在yarn集群中运行flink时,任务槽的个数受到yarn中container的最大CPU数 vcores
  • 一个作业的Task数量如何确定?

    • 1.主要由算子数、算子链数、并行度共同来决定的
    • 2.如果禁用算子链合并,task的数量 = 算子数 * 并行度(并行度相同)
    • 3.如果存在算子链合并,task的数量 = 合并后的算子链数(包含不合并的算子)* 并行度(并行度相同)
  • Slot共享:flink允许将上下游的task共享给同一个slot。但是注意,同一个Task的并行子任务不允许共享

  • 为什么要Slot共享?

    • 1.当我们将资源密集型和非密集型的任务同时放到一个slot中,他们就可以自行分配对资源占用的比例,保证最重的活平均分配给所有的Taskmanager
    • 2.Slot共享另一个好处就是在一个Slot中可以保存完整的作业管道
  • 能不能不共享?

    • 通过设置共享组(算子.slotSharingGroup(“共享组名”))来实现共享或者不共享,默认的共享组为default,从source端往后传递,如果下游的算子没有具体设置共享组
  • 一个作业的并行度如何确定?

    • 作业的并行度由当前作业中并行度最大的算子的并行度决定
    • 一个作业需要多少个TaskSlot如何确定?
    • 作业需要多少个taskSlot由作业的并行度决定(前提是slot共享)

Yarn应用模式作业提交流程

在这里插入图片描述

  1. 客户端提交任务,Yarn的ResourceManager启动AM
  2. AM中的Actor通信系统
    • 启动资源管理器
    • 启动分发器
      • 分发器启动JobMaster
  3. JobMaster
    • 生成逻辑流图
    • 生成作业流图
    • 生成执行流图
    • 向资源管理器 注册请求Slot
  4. 资源管理器向Yarn的Resource manager申请资源
  5. Resource Manager启动TaskManager
  6. TaskManager向AM中的资源管理器注册需要的Slot
  7. AM的资源管理器分配slot给TaskManager
  8. JobMaster获取目前TaskManager现有的Slot个数
  9. JobMaster分配任务给各个TaskManager,各个TaskManager生成相应的物理流图并执行。
http://www.lryc.cn/news/256069.html

相关文章:

  • 算法备胎hash和队列的特征——第五关青铜挑战
  • LLM之Agent(五)| AgentTuning:清华大学与智谱AI提出AgentTuning提高大语言模型Agent能力
  • LLM之Agent(三):HuggingGPT根据用户需求自动调用Huggingface合适的模型
  • 【上海大学数字逻辑实验报告】五、记忆元件测试
  • yaml工作常用语法总结
  • bash中通过变量中的内容获取对应的关联数组
  • Redis Geo操作地理位置
  • 市面上的AR眼镜:优缺点分析
  • 2024年湖南省职业院校技能竞赛高职组电子与信息专业类软件测试赛项竞赛规程及样题
  • 10、pytest通过assert进行断言
  • Webpack技术入门与实践
  • HarmonyOS开发(九):数据管理
  • acwing-Linux学习笔记
  • Python渗透测试——一、数据包的编辑工具——Scapy
  • 使用webstrom编写vue开启提示
  • linux远程桌面管理工具(xrdp)、向日葵
  • 【力扣100】8.找到字符串中所有字母异位词
  • 圆通速递查询,圆通速递单号查询,用表格导出查询好的物流信息
  • FLStudio中文2024中文最新汉化安装包下载
  • AI:大语言模型训练方法 - 机器学习
  • Linux(17):认识与分析登录档
  • STM32上模拟CH340芯片的功能 (一)
  • 图论——最小生成树
  • C++基础 -42- STL库之list链表
  • Backend - Python 序列化
  • 初级数据结构(一)——顺序表
  • 实现:切换页面切换标题,扩展 vue-router 的类型
  • 已通过考试和认证注册以及后续计划表
  • 开源计算机视觉库OpenCV详解
  • 使用pytorch查看中间层特征矩阵以及卷积核参数