相信使用过 Flink 的你或多或少遇到过下面这个问题(笔者自己的项目曾经也出现过这样的问题),错误信息如下:
Caused by: akka.pattern.AskTimeoutException:
Ask timed out on [Actor[akka://flink/user/taskmanager_0#15608456]] after [10000 ms].
Sender[null] sent message of type "org.apache.flink.runtime.rpc.messages.LocalRpcInvocation".
跟着这问题在 Flink 的 Issue 列表里看到了一个类似的问题:[https://issues.apache.org/jira/browse/FLINK-9056]()https://issues.apache.org/jira/browse/FLINK-9056 ,看下面的评论意思大概就是 TaskManager 的 Slot 数量不足导致的 Job 提交失败,在 Flink 1.63 中已经修复了,变成抛出异常了。
竟然知道了是因为 Slot 不足的原因了,那么我们就要先了解下 Slot 是什么呢?不过再了解 Slot 之前这里先介绍下 parallelism。