无可用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之后,再次提交两个任务,去看首页整体情况一切正常,如下图: