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

Flink任务和任务槽详解

前言

我们知道作业划分为 5 个并行子任务,需要 5 个线程并行执行。那在我们将应用提交到 Flink集群之后,到底需要占用多少资源呢?是否需要 5 个 TaskManager 来运行呢?

任务槽(Task Slots)

Flink 中每一个 worker(也就是 TaskManager)都是一个 JVM 进程,它可以启动多个独立的线程,来并行执行多个子任务(subtask)。
所以如果想要执行 5 个任务,并不一定非要 5 个 TaskManager,我们可以让 TaskManager多线程执行任务。如果可以同时运行 5 个线程,那么只要一个 TaskManager 就可以满足我们之前程序的运行需求了。
很显然,TaskManager 的计算资源是有限的,并不是所有任务都可以放在一个 TaskManager上并行执行。并行的任务越多,每个线程的资源就会越少。那一个 TaskManager 到底能并行处理多少个任呢?为了控制并发量,我们需要在 TaskManager 上对每个任务运行所占用的资源做出明确的划分,这就是所谓的任务槽(task slots)。

slot 的概念其实在分布式框架中并不陌生。所谓的“槽”是一种形象的表达。如果大家见过传说中的“卡带式游戏机”,就会对它有更直观的认识:游戏机上的卡槽提供了可以运行游戏的接口和资源,我们把游戏卡带插入卡槽,就可以占用游戏机的计算资源,执行卡带中的游戏程序了。一台经典的小霸王游戏机(如下图)一般只有一个卡槽,而在 TaskManager 中,我们可以设置多个 slot,只要插入“卡带”——也就是分配好的任务&#x


http://www.mrgr.cn/news/8305.html

相关文章:

  • 企业级WEB应用服务器TOMCAT——超详细攻略
  • 数学建模之数据分析【九】:数据清理总结
  • JavaScript(28)——正则表达式
  • JavaScript 对象属性
  • 免费批量自动校正图片、PDF文档方向工具
  • 【Kotlin设计模式】Kotlin实现单例模式
  • [笔记] 某振动分析软件的可能侦测范围
  • unity游戏开发——(细)深入解析 Unity 地形系统:从基础到高级应用
  • 如何利用命令模式实现一个手游后端架构
  • 进程与程序的学习
  • zookeeper单机安装
  • 【大模型理论篇】Mixture of Experts(混合专家模型, MOE)
  • 180页某项目可视化智能停车场系统技术解决方案WORD
  • AWS 中的信任策略的危险
  • 【数据库】MySql基本引擎InnoDB、MyISAM、MEMORY、CSV、ARCHIVE(详细说明)
  • 达梦数据库表结构导出到 Excel 教程
  • python爬虫:selenium+browsermobproxy实现浏览器请求抓取(模块安装详解)
  • 【MySQL】MySQL 中 REGEXP 的用法
  • 第G6周:CycleGAN实战
  • [云计算] 虚拟化笔记