没有了可用Task Slot,Flink新增任务会怎样?

无可用Task Slots

如下图所示,一个普通Flink1.7的Local环境,正在运行一个并行度为4的任务,现有Task slot全部被使用,因此Available Task Slots为零:

如果这时候再提交一个任务,会出现什么情况呢?如下图,新提交的任务,状态是SCHEDULED(红框所示),执行的主机也没有分配(绿框所示):

看来要想任务顺利执行,首先要保证slot数量够用,目前机器内存是够用的,那么就把slot数量调大些吧;

注意

由于修改的配置文件要重启Flink才能生效,在生产环境请慎用!

修改配置

根据官方文档的指导,应该修改conf目录下的flink-conf.yaml文件中taskmanager.numberOfTaskSlots的值,这个参数表示的是每个taskmanager中slot的数量,如下图红框所示,文档地址:https://ci.apache.org/projects/flink/flink-docs-master/ops/config.html

这里我将之前配置的4改为8(机器的CPU是四核,超线程开启),重启Flink;

再次验证

重启Flink之后,再次提交两个任务,去看首页整体情况一切正常,如下图:

Author: Tunan
Link: http://yerias.github.io/2021/06/21/flink/16/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.