Python spark submit在作业完成后继续挂起

Python spark submit在作业完成后继续挂起,python,hadoop,amazon-web-services,apache-spark,pyspark,Python,Hadoop,Amazon Web Services,Apache Spark,Pyspark,我正在尝试在AWS中使用hdfs测试spark 1.6。我正在使用示例文件夹中提供的wordcount python示例。我使用spark submit提交作业,作业成功完成,其结果也会打印到控制台上。web用户界面还显示其已完成。然而,火花永不停止。我已经验证了wordcount示例代码中的上下文也已停止 有什么不对劲吗 这是我在控制台上看到的 6-05-24 14:58:04,749 INFO [Thread-3] handler.ContextHandler (ContextHandle

我正在尝试在AWS中使用hdfs测试spark 1.6。我正在使用示例文件夹中提供的wordcount python示例。我使用spark submit提交作业,作业成功完成,其结果也会打印到控制台上。web用户界面还显示其已完成。然而,火花永不停止。我已经验证了wordcount示例代码中的上下文也已停止

有什么不对劲吗

这是我在控制台上看到的

6-05-24 14:58:04,749 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/stages/stage,null}
2016-05-24 14:58:04,749 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/stages/json,null}
2016-05-24 14:58:04,749 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/stages,null}
2016-05-24 14:58:04,749 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/jobs/job/json,null}
2016-05-24 14:58:04,750 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/jobs/job,null}
2016-05-24 14:58:04,750 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/jobs/json,null}
2016-05-24 14:58:04,750 INFO  [Thread-3] handler.ContextHandler (ContextHandler.java:doStop(843)) - stopped o.s.j.s.ServletContextHandler{/jobs,null}
2016-05-24 14:58:04,802 INFO  [Thread-3] ui.SparkUI (Logging.scala:logInfo(58)) - Stopped Spark web UI at http://172.30.2.239:4040
2016-05-24 14:58:04,805 INFO  [Thread-3] cluster.SparkDeploySchedulerBackend (Logging.scala:logInfo(58)) - Shutting down all executors
2016-05-24 14:58:04,805 INFO  [dispatcher-event-loop-2] cluster.SparkDeploySchedulerBackend (Logging.scala:logInfo(58)) - Asking each executor to shut down
2016-05-24 14:58:04,814 INFO  [dispatcher-event-loop-5] spark.MapOutputTrackerMasterEndpoint (Logging.scala:logInfo(58)) - MapOutputTrackerMasterEndpoint stopped!
2016-05-24 14:58:04,818 INFO  [Thread-3] storage.MemoryStore (Logging.scala:logInfo(58)) - MemoryStore cleared
2016-05-24 14:58:04,818 INFO  [Thread-3] storage.BlockManager (Logging.scala:logInfo(58)) - BlockManager stopped
2016-05-24 14:58:04,820 INFO  [Thread-3] storage.BlockManagerMaster (Logging.scala:logInfo(58)) - BlockManagerMaster stopped
2016-05-24 14:58:04,821 INFO  [dispatcher-event-loop-3] scheduler.OutputCommitCoordinator$OutputCommitCoordinatorEndpoint (Logging.scala:logInfo(58)) - OutputCommitCoordinator stopped!
2016-05-24 14:58:04,824 INFO  [Thread-3] spark.SparkContext (Logging.scala:logInfo(58)) - Successfully stopped SparkContext
2016-05-24 14:58:04,827 INFO  [sparkDriverActorSystem-akka.actor.default-dispatcher-2] remote.RemoteActorRefProvider$RemotingTerminator (Slf4jLogger.scala:apply$mcV$sp(74)) - Shutting down remote daemon.
2016-05-24 14:58:04,828 INFO  [sparkDriverActorSystem-akka.actor.default-dispatcher-2] remote.RemoteActorRefProvider$RemotingTerminator (Slf4jLogger.scala:apply$mcV$sp(74)) - Remote daemon shut down; proceeding with flushing remote transports.
2016-05-24 14:58:04,843 INFO  [sparkDriverActorSystem-akka.actor.default-dispatcher-2] remote.RemoteActorRefProvider$RemotingTerminator (Slf4jLogger.scala:apply$mcV$sp(74)) - Remoting shut down.
我必须执行ctrl-c来终止spark提交过程。这真是一个奇怪的问题,我不知道如何解决这个问题。请让我知道,如果有任何日志,我应该看,或在这里做不同的事情

以下是spark提交流程的jstack输出的pastebin链接:

我的spark作业代码中的自定义线程池也存在同样的问题。我发现spark submit在代码中使用自定义守护线程池时挂起。 您可以查看spark开发人员如何创建线程池,也可以使用此UTIL,但要小心,因为它们是包私有的。

对于我来说: 在本地,它停止,但在集群上执行时继续发送日志。我认为这是意料之中的行为。 从另一个答案中得到了这个答案,并为我工作

val sc=new SparkContext(conf)
try{
      //code goes here
}
finally{
      sc.stop()
}
这种技术在Spark和PySpark中都有效。

我不懂python,但即使Spark上下文关闭,我也会检查哪个线程处于活动状态。检查您可能必须在应用程序结束时停止spark上下文,方法是执行
sc.stop()
I已停止spark上下文。这是那个帖子。你用什么来称呼“大师”?“spark submit--master???”我尝试了master=纱线簇和local