2016-05-24 3 views
7

AWSでhdfsを使ってspark 1.6をテストしようとしています。 examplesフォルダにあるwordcount pythonの例を使用しています。私はspark-submitで仕事を提出すると、仕事はうまく完了し、結果はコンソールにも印刷されます。 Web-UIにも完成したと書かれています。しかし、スパーク送信は決して終了しません。私は文脈の例のコードでも文脈が停止していることを確認しました。ジョブ完了後にspark-submitがハングアップし続ける

何が間違っている可能性がありますか?

これは私がコンソールで見るものです。

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. 

spark-submitプロセスを終了するには、Ctrl-Cを実行する必要があります。これは本当に奇妙な問題です。私はこれをどのように修正するか考えていません。私が見なければならないログがあるか、ここで別のことをしているかどうかを教えてください。ここで

は火花提出プロセスのjstack出力のペーストビンリンクです: http://pastebin.com/Nfnt4XmT

+0

私はpythonについてはわかりませんが、Sparkコンテキストがシャットダウンされていても、どのスレッドがアクティブであるかを確認するために行っています。 チェック:http://stackoverflow.com/questions/4046986/python-how-to-get-the-numebr-of-active-threads-started-by-specific-class –

+0

スパークコンテキストを停止する必要があるかもしれません。 'sc.stop()'を実行することでアプリケーションの終了 –

+0

私はすでにスパークコンテキストを停止しています。これはポストです。 –

答えて

-2

あなたはので私の知る限り、あなたの火花のコマンドを発行し、最後に「&」演算子を置くとnohupを使用しようとすることができますあなたのペーストされたログから得ることができますスパークコンテキストが停止し、唯一の問題は、それが端末に反映されていない、私が間違っている場合は私を修正します。

nohup spark-submit --master yarn --deploy-mode client --driver-memory=4G --num-executors=12 --executor-memory=4G --conf spark.yarn.driver.memoryOverhead=800 --conf spark.yarn.executor.memoryOverhead=800 --conf spark.kryoserializer.buffer.max=3G your_python_file.py > your_log_file.log & 
関連する問題