Ответ 1
- копировать идентификатор приложения из искрового планировщика, например application_1428487296152_25597
- подключиться к серверу, на котором запущено задание.
-
yarn application -kill application_1428487296152_25597
У меня есть работающее приложение Spark, где он занимает все ядра, где другим моим приложениям не будет выделен какой-либо ресурс.
Я сделал несколько быстрых исследований, и люди предложили использовать YARN kill или /bin/spark -class, чтобы убить команду. Тем не менее, я использую версию CDH и /bin/spark -class вообще не существует, приложение YARN kill тоже не работает.
Может ли кто-нибудь со мной с этим?
yarn application -kill application_1428487296152_25597
PUT http://{rm http address: port}/ws/v1/cluster/apps/{appid}/state
{
"state":"KILLED"
}
Может потребоваться много времени, чтобы получить все идентификаторы приложений из YARN и уничтожить их один за другим. Вы можете использовать цикл Bash для быстрого и более эффективного выполнения этой повторяющейся задачи, как показано ниже:
Убейте все приложения на YARN, которые находятся в ПРИНЯТОМ состоянии:
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