Я использую spark-submit для запуска задания, которое, за некоторыми исключениями, заблокировано, поэтому я попытался использовать ctrl + c, чтобы остановить процесс.
ctrl + c
Хотелось бы узнать, выполняется ли это задание в кластере?
Если это не правильный способ убить работу, то каков правильный путь?
^ C18 / 09/03 19:03:01 ИНФОРМАЦИЯ SparkContext: вызов остановки () из отключающего крюка 18/09/03 19:03:01 ИНФОРМАЦИЯ SparkUI: веб-интерфейс Spark остановлен в http://x.x.x.x:4040 18/09/03 19:03:01 ИНФОРМАЦИЯ DAGScheduler: Задание 2 не выполнено: счет в xxx.scala: 155, заняло 773,555554 с 18/09/03 19:03:01 INFO DAGScheduler: сбой ShuffleMapStage 2 (счетчик в xxx.scala: 155) за 773,008 с 18/09/03 19:03:01 ОШИБКА LiveListenerBus: SparkListenerBus уже остановлен! Событие удаления SparkListenerStageCompleted (org.apache.spark.scheduler.StageInfo@7f6a32f) 18/09/03 19:03:01 ОШИБКА LiveListenerBus: SparkListenerBus уже остановлен! Событие удаления SparkListenerJobEnd (2,1535994181627, JobFailed (org.apache.spark.SparkException: задание 2 отменено, поскольку SparkContext был закрыт)) 18/09/03 19:03:01 ОШИБКА LiveListenerBus: SparkListenerBus уже остановлен! Событие удаления SparkListenerSQLExecutionEnd (0,1535994181630) 18/09/03 19:03:01 INFO StandaloneSchedulerBackend: закрытие всех исполнителей Исключение в потоке "main" org.apache.spark.SparkException: задание 2 отменено из-за закрытия SparkContext в org.apache.spark.scheduler.DAGScheduler $$ anonfun $ cleanUpAfterSchedulerStop $ 1.apply (DAGScheduler.scala: 818) в org.apache.spark.scheduler.DAGScheduler $$ anonfun $ cleanUpAfterSchedulerStop $ 1.apply (DAGScheduler.scala: 816) в scala.collection.mutable.HashSet.foreach (HashSet.scala: 78) at org.apache.spark.scheduler.DAGScheduler.cleanUpAfterSchedulerStop (DAGScheduler.scala: 816) в org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onStop (DAGScheduler.scala: 1685) в org.apache.spark.util.EventLoop.stop (EventLoop.scala: 83) в org.apache.spark.scheduler.DAGScheduler.stop (DAGScheduler.scala: 1604) в org.apache.spark.SparkContext $$ anonfun $ stop $ 8.apply $ mcV $ sp (SparkContext.scala: 1781) в org.apache.spark.util.Utils $ .tryLogNonFatalError (Utils.scala: 1290) в org.apache.spark.SparkContext.stop (SparkContext.scala: 1780) в org.apache.spark.SparkContext $$ anonfun $ 2.apply $ mcV $ sp (SparkContext.scala: 559) в org.apache.spark.util.SparkShutdownHook.run (ShutdownHookManager.scala: 215) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1 $$ anonfun $ apply $ mcV $ sp $ 1.apply $ mcV $ sp (ShutdownHookManager.scala: 187) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1 $$ anonfun $ apply $ mcV $ sp $ 1.apply (ShutdownHookManager.scala: 187) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1 $$ anonfun $ apply $ mcV $ sp $ 1.apply (ShutdownHookManager.scala: 187) в org.apache.spark.util.Utils $ .logUncaughtExceptions (Utils.scala: 1953) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1.apply $ mcV $ sp (ShutdownHookManager.scala: 187) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1.apply (ShutdownHookManager.scala: 187) в org.apache.spark.util.SparkShutdownHookManager $$ anonfun $ runAll $ 1.apply (ShutdownHookManager.scala: 187) на scala.util.Try $ .apply (Try.scala: 192) в org.apache.spark.util.SparkShutdownHookManager.runAll (ShutdownHookManager.scala: 187) в org.apache.spark.util.SparkShutdownHookManager $$ anon $ 2.run (ShutdownHookManager.scala: 177) в org.apache.hadoop.util.ShutdownHookManager $ 1.run (ShutdownHookManager.java:54) в org.apache.spark.scheduler.DAGScheduler.runJob (DAGScheduler.scala: 632) в org.apache.spark.SparkContext.runJob (SparkContext.scala: 1873) в org.apache.spark.SparkContext.runJob (SparkContext.scala: 1886) в org.apache.spark.SparkContext.runJob (SparkContext.scala: 1899)в org.apache.spark.SparkContext.runJob (SparkContext.scala: 1913) в org.apache.spark.rdd.RDD $$ anonfun $ collect $ 1.apply (RDD.scala: 912) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 151) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 112) в org.apache.spark.rdd.RDD.withScope (RDD.scala: 358) в org.apache.spark.rdd.RDD.collect (RDD.scala: 911) в org.apache.spark.sql.execution.SparkPlan.executeCollect (SparkPlan.scala: 290) в org.apache.spark.sql.Dataset $$ anonfun $ org $ apache $ spark $ sql $ Набор данных $$ execute $ 1 $ 1.apply (Dataset.scala: 2193) в org.apache.spark.sql.execution.SQLExecution $ .withNewExecutionId (SQLExecution.scala: 57) в org.apache.spark.sql.Dataset.withNewExecutionId (Dataset.scala: 2546) в org.apache.spark.sql.Dataset.org $ apache $ spark $ sql $ Набор данных $$ execute $ 1 (Dataset.scala: 2192) в org.apache.spark.sql.Dataset.org $ apache $ spark $ sql $ Набор данных $$ collect (Dataset.scala: 2199) в org.apache.spark.sql.Dataset $$ anonfun $ count $ 1.apply (Dataset.scala: 2227) в org.apache.spark.sql.Dataset $$ anonfun $ count $ 1.apply (Dataset.scala: 2226) в org.apache.spark.sql.Dataset.withCallback (Dataset.scala: 2559) в org.apache.spark.sql.Dataset.count (Dataset.scala: 2226) в xx.xx.xx.weekLyLoadingIDFA (xx.scala: 155) в xx.xx.xx.retrieve (xx.scala: 171) в xx.xx.xx.run (xx.scala: 65) в xx.xx.xxRunner $ .delayedEndpoint $ io $ xxx $ CellRunner $ 1 (xx.scala: 12) в xx.xx.xxRunner $ delayedInit $ body.apply (xx.scala: 11) в scala.Function0 $ class.apply $ mcV $ sp (Function0.scala: 34) at scala.runtime.AbstractFunction0.apply $ mcV $ sp (AbstractFunction0.scala: 12) в scala.App $$ anonfun $ main $ 1.apply (App.scala: 76) в scala.App $$ anonfun $ main $ 1.apply (App.scala: 76) в scala.collection.immutable.List.foreach (List.scala: 381) в scala.collection.generic.TraversableForwarder $ class.foreach (TraversableForwarder.scala: 35) в scala.App $ class.main (App.scala: 76) в xx.xx.xxRunner $ .main (xx.scala: 11) в xx.xx.xxRunner.main (xx.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $ SparkSubmit $$ runMain (SparkSubmit.scala: 736) в org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1 (SparkSubmit.scala: 185) в org.apache.spark.deploy.SparkSubmit $ .submit (SparkSubmit.scala: 210) в org.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 124) в org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala) 18/09/03 19:03:01 ИНФОРМАЦИЯ CoarseGrainedSchedulerBackend $ DriverEndpoint: просит каждого исполнителя завершить работу 18/09/03 19:03:01 ИНФОРМАЦИЯ MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint остановлен! 18/09/03 19:03:01 INFO MemoryStore: очистка MemoryStore очищена 18/09/03 19:03:01 ИНФОРМАЦИЯ BlockManager: BlockManager остановлен 18/09/03 19:03:01 ИНФОРМАЦИЯ BlockManagerMaster: BlockManagerMaster остановлен 18/09/03 19:03:01 INFO OutputCommitCoordinator $ OutputCommitCoordinatorEndpoint: OutputCommitCoordinator остановлен! 18/09/03 19:03:01 ОШИБКА TransportResponseHandler: По-прежнему имеется 1 невыполненный запрос при закрытии соединения с xxxxx / xxxx: 7077 18/09/03 19:03:01 ИНФОРМАЦИЯ SparkContext: успешно остановлен SparkContext 18/09/03 19:03:01 ИНФОРМАЦИЯ ShutdownHookManager: вызван крюк отключения 18/09/03 19:03:01 ИНФОРМАЦИЯ ShutdownHookManager: Удаление каталога / tmp / spark / spark-xxxxxxxxxx
Когда вы запускаете автономный кластер Spark, его мастер имеет интерфейс на порту 8080. В главном интерфейсе вы увидите свое приложение на вкладке «Запуск приложения». Для каждого приложения есть кнопка (KILL), связанная с этим. Просто нажмите эту кнопку, и он попросит вас подтвердить это. Подтвердите, чтобы закрыть. На изображении вы можете увидеть работающее приложение и с ним связана опция уничтожения.
Счастливое Искрение ....
Зависит от менеджера ресурсов. В моем случае ctrl + c отлично работает на пряже, а работа убита, а ты все еще остаешься в spark-shell. Также вы можете убить работу из веб-интерфейса Spark или из YARN.
Если вы работаете с пряжей, вы можете убить приложение spark, выполнив следующую команду
yarn application -kill applicationId
Для режима зажигания в автономном режиме используйте
spark-submit — kill applicationId — master masterurl
В журналах выше показано, что SparkContext был выключен. Это означает, что задание Spark больше не выполняется в кластере.
Поскольку вы запускаете приложение в режиме клиента, Ctrl + C должен убить приложение в целом.