gpt4 book ai didi

apache-spark - Spark应用程序杀死执行程序

转载 作者:行者123 更新时间:2023-12-03 16:03:48 32 4
gpt4 key购买 nike

我在独立模式下运行Spark集群,并使用spark-submit运行应用程序。在spark UI阶段部分中,我发现执行阶段的执行时间较长(> 10h,而通常时间约为30秒)。阶段有许多失败的任务,错误为Resubmitted (resubmitted due to lost executor)。阶段页面的CANNOT FIND ADDRESS部分中具有地址Aggregated Metrics by Executor的执行程序。 Spark尝试无限地重新提交此任务。如果我终止了此阶段(我的应用程序自动重新运行未完成的Spark作业),则所有程序都将继续正常运行。

我还在 Spark 日志中发现了一些奇怪的条目(与阶段执行开始相同的时间)。

掌握:

16/11/19 19:04:32 INFO Master: Application app-20161109161724-0045 requests to kill executors: 0
16/11/19 19:04:36 INFO Master: Launching executor app-20161109161724-0045/1 on worker worker-20161108150133
16/11/19 19:05:03 WARN Master: Got status update for unknown executor app-20161109161724-0045/0
16/11/25 10:05:46 INFO Master: Application app-20161109161724-0045 requests to kill executors: 1
16/11/25 10:05:48 INFO Master: Launching executor app-20161109161724-0045/2 on worker worker-20161108150133
16/11/25 10:06:14 WARN Master: Got status update for unknown executor app-20161109161724-0045/1

worker :
16/11/25 10:06:05 INFO Worker: Asked to kill executor app-20161109161724-0045/1
16/11/25 10:06:08 INFO ExecutorRunner: Runner thread for executor app-20161109161724-0045/1 interrupted
16/11/25 10:06:08 INFO ExecutorRunner: Killing process!
16/11/25 10:06:13 INFO Worker: Executor app-20161109161724-0045/1 finished with state KILLED exitStatus 137
16/11/25 10:06:14 INFO Worker: Asked to launch executor app-20161109161724-0045/2 for app.jar
16/11/25 10:06:17 INFO SecurityManager: Changing view acls to: spark
16/11/25 10:06:17 INFO SecurityManager: Changing modify acls to: spark
16/11/25 10:06:17 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(spark); users with modify permissions: Set(spark)

网络连接没有问题,因为工作程序,主服务器(上面的日志)和驱动程序在同一台计算机上运行。

Spark版本1.6.1

最佳答案

日志中有趣的部分可能是这样的:

16/11/25 10:06:13 INFO Worker: Executor app-20161109161724-0045/1 finished with state KILLED exitStatus 137

退出 137强烈建议出现资源问题,即内存或CPU内核。
鉴于您可以通过重新运行该阶段来解决问题,则可能是某种程度上已经分配了所有内核(也许您还运行了一些Spark Shell?)。
这是独立的Spark设置(所有内容都在一个主机上)的常见问题。

无论哪种方式,我都会依次尝试以下操作:
  • 提升存储内存派生spark.storage.memoryFraction以便为存储预先分配更多的内存,并防止系统OOM杀手在较大的阶段随机地给您137
  • 为您的应用程序设置较少数量的内核,以排除在运行阶段之前预先分配这些内核的内容。您可以通过spark.deploy.defaultCores来执行此操作,将其设置为3甚至2(在Intel四核系统上,假设8个vcore)
  • 直接为Spark分配更多RAM-> spark.executor.memory需要增加。
  • 也许您在这里遇到了元数据清理的问题,在本地部署中也不是闻所未闻的,在这种情况下,添加export SPARK_JAVA_OPTS +="-Dspark.kryoserializer.buffer.mb=10 -Dspark.cleaner.ttl=43200"到最后,您的spark-env.sh可能会通过强制元数据清除更频繁地运行
  • 来解决问题

    在我看来,其中之一应该可以解决问题。

    关于apache-spark - Spark应用程序杀死执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40910952/

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