【Flink公开课笔记-Felix】Flink Runtime

Flink Runtime

Flink 运行时架构

  1. Client: 提交Job
  2. JobManager:
  3. TaskManager:
  4. 角色间通讯(Akka):
  5. 数据的传输(Netty):

Flink运行时架构

1. Slot 分配与共享

每个Task Manager

  1. OperatorChain:

    每个task里面有1或者n个operator, 多个operator的时候就会购成operatorChain. 组成一个task.
    所有的operator组成可以组成的operatorchain之后会减少task个数, 不至于每个operator开启一个task, 占用一个slot.

    1. 减少线程切换, 序列化/反序列化, 缓冲区的交换…
  2. slot共享运行task.

    1. 同一个job里面的task才可以.在这里插入图片描述
  3. SlotShardingGroup: 修改自动共享的逻辑

    1. 尽量让subtasks共享一个slot.保证同一个group并行度相同的sub-tasks共享一个slots.

    2. 算子(task)默认group为default

    3. 使用方法

      // 为filter归类到group1中
      someStream.filter(...).slotShardingGroup("group1");
      
    4. 一个未设置slotSharingGroup的group要根据上游算子和本身共同确定的.

    5. 适当设置可以减少slot线程数

  4. coLocationGroup: 强制共用group.

2. Slot 与 parallelism 的关系
  1. 一个应用需要多少个Slot?
    1. 不设置slotSharingGroup, 都是一个group, slot数为应用的最大并行度.
    2. 设置了group, 每个group的slot不共享, slot数就是所有group里面的slot数的和.
      在这里插入图片描述
主要概念:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值