Flink任务资源设置
1、基本概念
- tm_num: taskmanager的个数。实际值为:count(taskmanager)=max{tm_num, max_used_slot/tm_slot}
- tm_memory: 每个tm 分配的内存,单位:MB
- alloc_memory: 作业申请总的内存,alloc_memory = tm_memory * tm_num
- used_memory: 作业使用的内存数
- tm_cores: 每个tm 分配的vcore数
- alloc_cores: 作业申请的总vcore数,alloc_cores = tm_num * tm_cores
- used_cores: 作业使用的vcore数
- tm_slot: 每个taskmanager的slot数,即每个 task manager 可以并发执行多少 tasks
- task_slots: 每个task最大的并发度, task_slots = tm_slot * tm_num
- max_used_slot: 作业最大能利用的并发度。对于pyjstorm作业,max_used_slot = max{partition, thread_num}, 作业最大能利用的并发度, 其中,partition 指的是作业中所有topic的最大partition,thread_num 是bolt的并发,如果没有bolt,可以认为是0。task_slots >= max_used_slot 作业才能跑起来。对于原生作业,max_used_slot 为设置的parallelism最大值,如果没有设置,max_used_slot = task_slots
- available_task_slots: 未能利用的slot,available_task_slots = task_slots - max_used_slot。未利用的slot相当于是slot占着资源在空跑,这样看着作业申请了大量资源,实际是没法进行运行task的。
2、cpu 调整
- cpu浪费:如果作业使用的cpu远小于分配的cpu, 可以通过调小tm_cores 或者调小tm_num,从而减小总的申请的vcore数。
- cpu不足:如果作业使用的cpu大于分配的cpu, 可以通过调大tm_cores 或者调大tm_num的同时加大并发,从而加大总的申请的vcore数。
3、内存调整
- 内存浪费:如果作业使用的内存远小于分配的内存, 可以通过调小tm_memory 或者调小tm_num的同时调小并发,从而减小申请总的内存。
- 内存不足:如果作业使用的内存接近或大于分配的内存, 可以通过调大tm_memory 或者调大tm_num的同时加大并发,从而加大申请总的内存。
4、slot 调整
如果available_task_slots 实际是没有使用的slot,如果该值很大,说明资源浪费严重。请调小tm_num 或 调小tm_slot,从而减小总的task_slots,减小资源浪费。
5、作业启动优化
比如,作业的最大partition为32, thread_num = 100, 即max_used_slot = max{partition, thread_num} = 100。这时候,task_slots = 100作业就可以启动,比如tm_num = 10, tm_slot=10。但是如果想加快作业启动,可以多分配一两个tm,设置tm_num=12, tm_slot=10。这样稍微多申请一点资源是运行的。
6、优化
如何在总资源不变的情况下,优化作业资源呢:减小单个tm的资源,加大tm数。减小内存tm_memory,减小tm_cores,加大tm_num, 加大并发thread_num。保证alloc_memory 和 alloc_cores不变即可。
Flink任务资源设置相关推荐
- 8s保留cpu设置_使用资源设置控制CPU资源
如果即使在前面讨论过的所有方案之后也无法重新平衡CPU负载或提高处理器效率,那么可能还有一些原因是保持主机CPU仍然饱和. 它可以是资源池及其对VM的资源分配. 许多应用程序(例如批处理作业)通过 ...
- .NET MAUI 安卓 UI 资源设置
本文主要介绍使用 MAUI 开发安卓应用时,如何更换和处理 UI 资源:应用名称,图标,主题配色,状态栏,闪屏. 文章目录 1. 背景 2. 资源设置 2.1 项目创建 2.2 应用名称 2.3 应用 ...
- Oracle平均成本差异如何处理,小李飞刀系列之Oracle EBS期间平均成本(PAC)--生产成本计算(二)资源设置...
在上一篇文章中,我们讨论了Oracle EBS成本计算中成本要素和层次的概念.本篇文章开始将对成本要素"资源"进行讨论. 在进行资源设置时(如图1所示),对于PAC来说,下面几处的 ...
- 大数据之flink共享资源槽
算子链: 为方便执行,Flink将不同算子的子任务(subtask)链接到一个任务里,每一个任务在一个线程中执行.这是一个非常有用的优化方式,它减小了进程间数据交换和缓存的开销,而且在减少延迟同时增加 ...
- 【springboot】静态资源设置缓存时间
前言 springboot 2.0.0.RELEASE springboot中(其实是spring)使用了Ant-style 正则表达式.形如:/**. ResourceHandlers 路径就可以使 ...
- 【Flink】 Flink 应用资源分配问题排查思路
1.概述 转载:https://blog.csdn.net/weixin_43970890/article/details/102483720 如果 Flink 应用不能正常启动达到 RUNNING ...
- android 设置图片资源,如何使用DataBinding将Image资源设置为ImageView
像这样设置图像, 答案: https : //stackoverflow.com/a/36941125/703225 定义: @BindingAdapter({"android:src&qu ...
- 微信小游戏 资源服务器,Cocos Creator 微信小游戏 远程资源设置
版本:2.3.4 参考: cocos教程:发布到微信小游戏 因为微信小游戏有包体大小限制. 主包4M 分包最大4M 一共最多16M 那么假如我们的游戏有个20M,50M,那就放不下了.只能放到远程服务 ...
- Windows Server 2008共享资源设置步骤详解
很多人认为访问共享资源很简单,只要先找到共享资源,之后双击共享目标,再登录进去就可以进行访问操作了.事实上,这其中的每一步操作都可能会受到Windows系统的限制;这不,当我们尝试访问Windows ...
- vertx rest 跨域_在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头...
vertx rest 跨域 我是Vert.x的新手,但作为Java开发人员(辛勤工作),与NodeJS或其他任何基于Reactor的框架/库相比,我觉得它更加有趣并且很有前途. 因此,我正在使用Ver ...
最新文章
- SHELL中的三神器:管道、重定向、backtick
- 服务器无限火力时间,LOL无限火力2018时间表6月具体开启时间 无限火力模式什么时候出...
- html js页面传参
- double free or corruption的原因
- Linux 5.7 将支持国产 RISC-V 芯片 K210
- bat 变量 文件内容第一行_VBA基础入门(38)FSO生成bat文件后执行的实例
- 【NOI2019模拟2019.7.4】朝夕相处 (动态规划+BM)
- 5 批量更新多条记录_如何使用 F12 开发者工具自动批量删除新浪微博
- solo什么意思中文,solo是什么意思,了解一下什么是solo
- mysql可视化工具有哪些_有哪些用过一次就爱上的可视化工具?
- inception mysql 使用_mysql 审核引擎 goInception 的基本使用
- webpack,vue中定义的别名怎么在模板, css sass less的图片地址上使用
- vi 和 vim 的区别
- An动画优化之遮罩层动画
- matlab由滤波的系数得到传输函数 设计带通滤波器 design fdatool设计IIR带通滤波器
- oracle redo查询,ORACLE UNDO REDO查看
- Alarm Clock Pro for mac(闹钟和时间管理工具)
- Alpha版本冲刺(七)
- x50pro怎么升级鸿蒙系统,被央视点赞的vivo X50 Pro拍照如何?实测告诉你
- 公司职位英文及缩写大全