我使用Spark 2.0.0和Hadoop 2.7并使用yarn-cluster模式。每次,我都会收到以下错误:
17/01/04 11:18:04 INFO spark.SparkContext: Successfully stopped SparkContext
17/01/04 11:18:04 INFO yarn.ApplicationMaster: Final app status: FAILED, exitCode: 16, (reason: Shutdown hook called before final status was reported.)
17/01/04 11:18:04 INFO util.ShutdownHookManager: Shutdown hook called
17/01/04 11:18:04 INFO util.ShutdownHookManager: Deleting directory /tmp/hadoop-hduser/nm-local-dir/usercache/harry/appcache/application_1475261544699_0833/spark-42e40ac3-279f-4c3f-ab27-9999d20069b8
17/01/04 11:18:04 INFO spark.SparkContext: SparkContext already stopped.
但是,我确实得到了正确的打印输出。 相同的代码在Spark 1.4.0-Hadoop 2.4.0中工作正常,我没有看到任何退出代码。
答案 0 :(得分:6)
此问题 .sparkStaging未清除,如果应用程序退出错误 https://issues.apache.org/jira/browse/SPARK-17340在Spark 1.4(Affects Version / s:1.5.2,1.6.1,2.0.0)之后启动
问题是:运行Spark(纱线,群集模式)和查杀应用程序时 .sparkStaging没有清理。
当这个问题发生时,在Spark 2.0.X中引发了exitCode 16
ERROR ApplicationMaster: RECEIVED SIGNAL TERM
INFO ApplicationMaster: Final app status: FAILED, exitCode: 16, (reason: Shutdown hook called before final status was reported.)
在您的代码中,有可能会杀死应用程序吗? 如果是这样 - 它不应该在Spark 1.4中看到,但应该在Spark 2.0.0中看到
请搜索您的代码“退出”(就好像您的代码中有这样的代码一样,错误不会在Spark 1.4中显示,但会在Spark 2.0.0中显示)
答案 1 :(得分:1)