【问题标题】:Spark streaming job exited with code 11Spark 流作业以代码 11 退出
【发布时间】:2015-07-08 06:11:40
【问题描述】:

我正在使用火花流作业来执行多个任务。它运行良好大约 5-6 小时,但之后它失败了,出现以下异常。 Spark 流式作业在具有 20 GB RAM 和 8 核的 yarn 集群上运行。

Application application_1435667829099_0003 failed 2 times due to AM Container for appattempt_1435667829099_0003_000002 exited with exitCode: 11
For more detailed output, check application tracking page:http://hdp-master:8088/proxy/application_1435667829099_0003/Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_e09_1435667829099_0003_02_000001
Exit code: 11
Stack trace: ExitCodeException exitCode=11:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
at org.apache.hadoop.util.Shell.run(Shell.java:455)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:212)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Container exited with a non-zero exit code 11
Failing this attempt. Failing the application.

请给我建议。

【问题讨论】:

  • 可以分享一下错误相关的代码吗?
  • 抱歉,代码太长,无法分享代码。我可以给你sn-p。我有多个具有不同时间范围和延迟的窗口函数。所有窗口函数都在相同的火花上下文中,并从相同的 kafka 主题中读取。

标签: java apache-spark spark-streaming


【解决方案1】:

在我的情况下,节点管理器的日志中出现异常之前的一行:

INFO org.apache.spark.deploy.yarn.ApplicationMaster: Final app status: FAILED,
exitCode: 11, (reason: Max number of executor failures (16) reached)

但我确信这是原始问题的缺点。仔细查看节点管理器日志

【讨论】:

  • 我在异常之前的日志中也有相同的行。你是如何解决这个问题的?这是什么原因造成的?
【解决方案2】:

我不确定我找到的解决方案能否解决您的问题。但是,它解决了我与exitCode: 11 (reason: Max number of executor failures (16) reached)相关的问题

我的问题的根本原因是我们在 main 函数的末尾使用 sparkContext.stop() 。它停止所有执行者。但是,一些异步进程(akka 尝试发送消息)仍然有效并尝试调用驱动程序/执行程序。它无法成功调用,因为所有执行程序/驱动程序已关闭。它尝试了很多次并以 exitCode: 11 停止。

解决方案:删除代码中的 sparkContext.stop() 函数,将停止操作留给 GC。

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2022-10-09
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多