Flink 的 算子链 和 资源组

Task Slots 和资源

**

来自同一个 job 的不同 task 的 substask 可以挤到同一个槽里面

**

共享资源槽的两个优点:

1 Flink 集群中有几个 task slot ,就有多少个并行度,无需计算程序中包含多少个 subtask

2 容易获得更好的资源利用率,如果没有 slot 共享,非密集 subtask 会将 阻塞 和 密集型 一样多的资源,
通过 slot 共享,我们示例 中的基本并行度 从2 增加到6 ,可以充分利用分配的资源,同时确保 繁重的 subtask 在 TaskManager 之间公平分配

每个 worker 都是一个 jvm 进程,可以单独的在线程中执行一个或多个subtask,为了控制一个 TaskManager 中能接收多少个 task ,就有了所谓的 task slots (至少一个)资源槽

每个 task slot 代表 TaskManager 中资源固定的子集,例如 一个 TaskManager 有3个 slot ,会将其托管内存于 3/1 每个slot中,平均分配资源,意味着 subtask 不会于其他的 job 中的 subtask 进行抢资源,也会保留自己的一些预留内存

需要注意的是 CPU 不会进行隔离分配资源,当前仅 slot 分离 task 的托管内存

通过调整 task slot 的数量,用户可以自定义 substask 如何互相隔离的,每个 TaskManager 都有一个 slot ,意味着每个 task 组都在单独的 JVM 中运行,具有多个 slot ,意味着 多个 TaskManager 会共享一个 JVM (共享资源槽)

共享资源槽好处:
同一个JVM 中的 task 共享 TCP 连接通信(通过多路复用 ----> 用以前提前建好的链接)
和心跳信息,还可共享数据集和数据结构,从而减少每个 task 的开销和资源利用率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值