gpt4 book ai didi

apache-spark - Spark 集群充满心跳超时,执行器自行退出

转载 作者:行者123 更新时间:2023-12-03 09:15:30 26 4
gpt4 key购买 nike

我的 Apache Spark 集群正在运行一个应用程序,它给了我很多执行程序超时:

10:23:30,761 ERROR ~ Lost executor 5 on slave2.cluster: Executor heartbeat timed out after 177005 ms
10:23:30,806 ERROR ~ Lost executor 1 on slave4.cluster: Executor heartbeat timed out after 176991 ms
10:23:30,812 ERROR ~ Lost executor 4 on slave6.cluster: Executor heartbeat timed out after 176981 ms
10:23:30,816 ERROR ~ Lost executor 6 on slave3.cluster: Executor heartbeat timed out after 176984 ms
10:23:30,820 ERROR ~ Lost executor 0 on slave5.cluster: Executor heartbeat timed out after 177004 ms
10:23:30,835 ERROR ~ Lost executor 3 on slave7.cluster: Executor heartbeat timed out after 176982 ms

但是,在我的配置中,我可以确认我成功地增加了执行程序心跳间隔:
enter image description here

当我访问标记为 EXITED 的执行者日志时(即:驱动程序在无法获得心跳时将它们删除),执行者似乎因为没有收到驱动程序的任何任务而自杀:
16/05/16 10:11:26 ERROR TransportChannelHandler: Connection to /10.0.0.4:35328 has been quiet for 120000 ms while there are outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong.
16/05/16 10:11:26 ERROR CoarseGrainedExecutorBackend: Cannot register with driver: spark://CoarseGrainedScheduler@10.0.0.4:35328

如何关闭心跳和/或防止执行程序超时?

最佳答案

缺少心跳和被 YARN 杀死的执行程序几乎总是由于 OOM。您应该检查各个执行程序上的日志(查找文本“超出物理内存运行”)。如果您有许多执行程序并且发现手动检查所有日志很麻烦,我建议您在运行时在 Spark UI 中监控您的作业。一旦任务失败,它会在 UI 中报告原因,因此很容易看到。请注意,由于缺少已被杀死的执行程序,某些任务将报告失败,因此请确保查看每个单独失败任务的原因。

另请注意,大多数 OOM 问题都可以通过简单地在代码中的适当位置重新分区数据来快速解决(再次查看 Spark UI 以获取有关可能需要调用 repartition 的提示的提示)。否则,您可能希望扩展您的机器以满足对内存的需求。

关于apache-spark - Spark 集群充满心跳超时,执行器自行退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37260230/

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