flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 徐涛 <xutao_u...@163.com>
Subject Flink目前的Slot分配策略存在的问题
Date Sun, 21 Jul 2019 02:39:44 GMT
Hi All,
    现在申请Slot的流程是
    SlotPool -> ResourceManager -> TaskManager -> SlotPool
    在ResourceManager中具体选择哪个Slot做分配是根据SlotManager.findMatchingSlot来的,在其中是遍历freeSlots这个LinkedHashMap,如果发现可用,则使用这个Slot。
问题在于freeSlots中的slot一般是在每个TaskManager向ResourceManager注册的时候生成的。里面的内容可能是:
Slot1-1, Slot1-2, Slot1-3, Slot1-4, Slot2-1, Slot2-2, Slot2-3, Slot2-4, Slot3-1, Slot3-2,
Slot3-3, Slot3-4
那么在分配Slot的时候,就会发生这样的现象,先将一个TaskManager上的Slot全部占用以后,再去把下一个TaskManager上的所有Slot占用。Slot没有在多个TaskManager之间均匀分配。
    请问下:
    1. 这样会导致某个TM上全部运行某个Job的SubTask。 这样在分布式程序的分布性上面,没有分布在多台机器上,而是分布在了少数的几台机器上。
    2. Flink是故意这样设计的吗?是什么原因导致这样的设计方案?


谢谢
徐涛
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message