You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by zxyoung <xy...@163.com> on 2020/11/03 02:11:16 UTC

Flink中是否可动态Task调度

我目前学习到的情况是,Flink在初次运行Job时,会先申请所有需要的Slot,确定每一个Task都在哪个TM的哪个Slot中,然后再执行整个任务。
那么在执行阶段,能否动态调节某一组Task/SubTask从一个slot转移到另一个空闲的slot(甚至从一个TM转移到另一个TM这种跨TM)?


例如算子并发度3、两个TM、每个TM有3个slot的情况下,资源预申请时可能3个subTask都被放置在TM 1的3个slot中。
那么在运行时,能否动态调节其中一个subTask到TM 2的1个slot中?

Re: Flink中是否可动态Task调度

Posted by Xintong Song <to...@gmail.com>.
Flink 不支持执行中更改 slot 的情况。不确定你说的“预申请”是什么意思。

如果是你举例的这种情况,可以配置 `cluster.evenly-spread-out-slots: true`[1] 来促使 slot 在 TM
上尽量均匀分布。

Thank you~

Xintong Song


[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/config.html#cluster-evenly-spread-out-slots

On Tue, Nov 3, 2020 at 10:11 AM zxyoung <xy...@163.com> wrote:

> 我目前学习到的情况是,Flink在初次运行Job时,会先申请所有需要的Slot,确定每一个Task都在哪个TM的哪个Slot中,然后再执行整个任务。
> 那么在执行阶段,能否动态调节某一组Task/SubTask从一个slot转移到另一个空闲的slot(甚至从一个TM转移到另一个TM这种跨TM)?
>
>
> 例如算子并发度3、两个TM、每个TM有3个slot的情况下,资源预申请时可能3个subTask都被放置在TM 1的3个slot中。
> 那么在运行时,能否动态调节其中一个subTask到TM 2的1个slot中?