flink的资源槽

本文深入探讨了Flink中的资源槽(Slot)概念,包括TaskManager、slot分配与共享、内存管理和并行度的关系。重点讲解了slot如何划分内存、线程间的共享以及如何通过设置slot共享资源槽来提高资源利用率。同时,提到了线程隔离与CPU核心数匹配的重要性,以及slot数量对程序并行度的影响。此外,还介绍了如何自定义slot共享资源槽组以优化任务调度。
摘要由CSDN通过智能技术生成

资源槽的概念

1.一个TaskManager就是一个单独的JVM(java进程)

2.一个TaskManager中如果有多个slot,会将TaskManager托管的内存进行等分;一个TaskManager中也可以只有一个slot,该slot中的subtask独占整个TaskManager中的内存

3.每个slot中的内存都是相互独立的,在同一个TaskManager中,多个slot还有共享内存

4.slot使用的线程没有隔离,最好让cpu的逻辑核的数量和TaskManager中的slot数量保持一致(避免线程频繁切换)

5.整个集群槽的数量,就是一个程序可以执行的最大并行度,即又多少个槽,程序的并行度就可以多大(程序运行的并行度,不能大于可用槽的数量)

6.一个TaskManager中有多个slot,好处是可以共享TCP连接,多路复用,共享心跳信息,共享内存和数据结构

7.Flink默认情况下允许同一个job不同Task的subtask共享资源槽,可以提高资源利用率,增大程序的并行度

共享资源槽

 1.flink的算子默认的共享资源槽的名称为default,可以调用slotSharingGroup方法修改算子共享资源槽的名称

2.如果修改了算子的共享资源槽组的名称,该算子对应的subtask的后面所有的subtask的工作资源槽组名称都会随着改变(就近跟随原则)

3.一个slot如果被设置了共享资源槽名称,只有共享资源槽名称相同的subtask可以进入到同一个槽张中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值