gpt4 book ai didi

java - 弗林克 : Cluster Execution error of loss of Taskmanager

转载 作者:行者123 更新时间:2023-11-30 02:40:38 25 4
gpt4 key购买 nike

我正在Flink上运行实时流程序,有1个master和2个worker。一名工作人员在单独的计算机上运行,​​而另一名工作人员在主机本身上运行。我正在使用我的程序的 JAR,其中 Parallelism 设置为 2。此外,我还使用 2 个代理和 2 个分区从 Kafka 读取数据。

在这种情况下,当我将作业提交到 Flink 集群时,它将运行一段时间并失败,并出现错误 java.lang.Exception: 执行任务的槽已被释放。可能丢失 TaskManager 82f8941ff339603995e37c453f8ff401。任务管理器丢失的可能原因是什么? (只有主机上的一个任务管理器丢失了,另一个仍然存在并显示在 Flink Web 界面上。)

最佳答案

我也遇到了这个问题。我发现了这个。

如果看到 java.lang.Exception:执行任务的槽已被释放。即使TaskManager实际上没有崩溃,也可能丢失TaskManager,这意味着TaskManager有一段时间没有响应。这可能是由于网络问题造成的,但通常是由于长时间的垃圾收集停滞造成的。在这种情况下,快速解决方法是使用增量垃圾收集器,例如 G1 垃圾收集器。它通常会导致更短的停顿。此外,您可以通过减少 Flink 为其内部操作获取的内存量来将更多内存分配给用户代码(请参阅 TaskManager 托管内存的配置)。如果这两种方法都失败并且错误仍然存​​在,只需将 TaskManager 的心跳暂停增加将 AKKA_WATCH_HEARTBEAT_PAUSE (akka.watch.heartbeat.pause) 设置为更大的值(例如 600 秒)。这将导致JobManager等待心跳的时间间隔更长,然后才考虑TaskManager丢失。

解决方案由 https://flink.apache.org/faq.html 给出

希望对你有帮助。

关于java - 弗林克 : Cluster Execution error of loss of Taskmanager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41845343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com