У меня есть работающее приложение Spark, где оно занимает все ядра, а другим моим приложениям не будет выделено никаких ресурсов.
Я провел небольшое исследование, и люди предложили использовать YARN kill или / bin / spark-class, чтобы убить команду. Однако я использую версию CDH, а / bin / spark-class вообще не существует, приложение YARN kill тоже не работает.
Может кто со мной с этим справится?
apache-spark
yarn
pyspark
B.Mr.W.
источник
источник
Ответы:
yarn application -kill application_1428487296152_25597
источник
web UI
?Spark History UI
YARNRUNNING
( yarn-host: 8088 / cluster / apps / RUNNING ) или изSpark Job Web UI
URL-адреса ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )Получение всех идентификаторов приложений из 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
источник
https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Application_State_API
PUT http: // {rm http-адрес: порт} / ws / v1 / cluster / apps / {appid} / state
источник
Это может быть неэтичным и предпочтительным решением, но оно помогает в средах, где вы не можете получить доступ к консоли, чтобы убить задание с помощью команды приложения yarn.
Шаги
Перейдите на главную страницу приложения искрового задания. Щелкните раздел вакансий. Щелкните активную стадию активного задания. Вы увидите кнопку «убить» рядом с активным этапом.
Это работает, если последующие этапы зависят от текущего этапа. Хотя он помечает работу как «Убита пользователем»
источник