我正在使用 Flink 1.18.1 和 Flink Operator 1.7。
启动时间(从 Pod 创建到
RUNNING
状态)约为 3 分钟。如果我有 2 个 JM 并且领导者被杀死/重新启动,则工作大约需要 1 分 45 分钟才能开始。
到目前为止,这还不错,但我正在运行一个延迟较低的作业,需要更快的时间。有什么办法可以改善 Flink 部署的启动时间吗?
我今天用的:
不过,我似乎没有在日志中发现任何困难。
检查了应用程序的日志,但没有引起我的注意。
所以我知道发生了什么事。 Flink 使用的 vCPU 少于 0.05 个,但在启动期间,它需要更多的 CPU 能力来加载状态、一些扩展和一些跟踪。
解决方案是对 JM 和 TM 使用 CPU 限制因子。当 CPU 请求低于 CPU 的 10% 时,我将 Flink 配置为 50 倍。并且随着请求的 CPU 增加而减少。
这将启动时间从 1:45 分钟(最坏情况 9m)更改为 20 秒左右(最坏情况 45 秒)。