Запуск приложения Spark Kill


103

У меня есть работающее приложение Spark, где оно занимает все ядра, а другим моим приложениям не будет выделено никаких ресурсов.

Я провел небольшое исследование, и люди предложили использовать YARN kill или / bin / spark-class, чтобы убить команду. Однако я использую версию CDH, а / bin / spark-class вообще не существует, приложение YARN kill тоже не работает.

введите описание изображения здесь

Может кто со мной с этим справится?


1
если вы находитесь в тестовой среде: ps aux | grep spark -> получить pid of spark и убить его из командной строки
eliasah

@eliasah "test env", мне уже раздали задание ..
B.Mr.W.

1
вы хотите убить работу на производстве ????
eliasah

1
@eliasah Ага ... работа в продакшене зависла из-за отказа одного хоста.
B.Mr.W.

Ответы:


216
  • скопируйте идентификатор приложения из планировщика искры, например application_1428487296152_25597
  • подключиться к серверу, на котором запущено задание
  • yarn application -kill application_1428487296152_25597

1
Как добраться до планировщика искры?
makansij

Он такой же, как web UI?
makansij

@Hunle Вы можете получить идентификатор из пользовательского интерфейса приложений Spark History UIYARN RUNNING( yarn-host: 8088 / cluster / apps / RUNNING ) или из Spark Job Web UIURL-адреса ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )
C

2
можно убить сразу несколько: пряжа приложение-убить приложение_1428487296152_25597 приложение_1428487296152_25598 ... ??
user3505444

7

Получение всех идентификаторов приложений из YARN и уничтожение их одного за другим может занять много времени. Вы можете использовать цикл Bash for для быстрого и более эффективного выполнения этой повторяющейся задачи, как показано ниже:

Убейте все приложения на YARN, которые находятся в состоянии ACCEPTED:

for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done

Убейте все приложения на YARN, которые находятся в состоянии RUNNING:

for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done



1

Это может быть неэтичным и предпочтительным решением, но оно помогает в средах, где вы не можете получить доступ к консоли, чтобы убить задание с помощью команды приложения yarn.

Шаги

Перейдите на главную страницу приложения искрового задания. Щелкните раздел вакансий. Щелкните активную стадию активного задания. Вы увидите кнопку «убить» рядом с активным этапом.

Это работает, если последующие этапы зависят от текущего этапа. Хотя он помечает работу как «Убита пользователем»

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.