Как вы убиваете работу Spark из CLI? - PullRequest
1 голос
/ 01 октября 2019

Работа Killing Spark с помощью команды Prompt

Это тема, на которую я надеялся ответить на мой вопрос. Но все четыре ответа объясняют, как убить все приложение.

Как я могу остановить работу? Например, подсчет?

Я могу сделать это из веб-интерфейса Spark, нажав «убить» на соответствующем задании. Я предполагаю, что должна быть возможность составлять список запущенных заданий и взаимодействовать с ними также напрямую через CLI.

На практике я работаю в ноутбуке с PySpark на конечной точке Glue. Если я убью приложение, вся конечная точка умрет, и мне придется раскрутить новый кластер. Я просто хочу остановить работу. Отмена его в блокноте просто отключит синхронизацию, и задание будет продолжено, блокируя выполнение любых дальнейших команд.

Ответы [ 4 ]

1 голос
/ 12 октября 2019

Spark History Server предоставляет REST API интерфейс . К сожалению, он предоставляет только возможности мониторинга для приложений, заданий, этапов и т. Д.

Существует также интерфейс REST Submission , который предоставляет возможность отправлять, уничтожать и проверять состояние приложений,Это недокументированный AFAIK, и поддерживается только в автономных кластерах Spark и Mesos, без YARN. (Наверное, поэтому на экране YARN для Spark нет ссылки «kill» на пользовательском интерфейсе Jobs.)

Так что вы можете попробовать использовать этот «скрытый» API, но если вам известен URL-адрес Spark UI вашего приложения иидентификатор работы, которую вы хотите убить, более простой способ выглядит так:

$ curl -G http://<Spark-Application-UI-host:port>/jobs/job/kill/?id=<job_id>

Поскольку я не работаю с клеем, мне было бы интересно узнать, как он будет реагировать, потому чтоубийство обычно приводит к org.apache.spark.SparkException: Job <job_id> cancelled.

0 голосов
/ 02 октября 2019

В терминале вы также можете убить задание с помощью команд пряжи, если ваш менеджер ресурсов - пряжа. Первая команда для отображения списка запущенных приложений:

: список приложений yarn

В этом списке будет отображаться запущенное приложение spark с другими приложениями. После того как вы определили свое приложение, получите его идентификатор и запустите ниже, скопировав код:

: yarn application -kill applicationid

0 голосов
/ 02 октября 2019

перечислите задание в linux и убейте его.

Я бы сделал ps -ef | grep spark-submit, если бы он был запущен с использованием spark-submit. Получите PID из вывода и затем убейте -9

0 голосов
/ 01 октября 2019

Убить запущенное задание:

  1. открыть Spark пользовательский интерфейс приложения.
  2. Перейти на вкладку jobs.
  3. Найти job среди running jobs.
  4. Нажмите на ссылку kill и подтвердите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...