J'ai une application Spark en cours d'exécution où elle occupe tous les cœurs où mes autres applications ne recevront aucune ressource.
J'ai fait quelques recherches rapides et les gens ont suggéré d'utiliser YARN kill ou / bin / spark-class pour tuer la commande. Cependant, j'utilise la version CDH et / bin / spark-class n'existe même pas du tout, l'application de destruction YARN ne fonctionne pas non plus.
Quelqu'un peut-il avec moi avec ça?
apache-spark
yarn
pyspark
B.Mr.W.
la source
la source
Réponses:
yarn application -kill application_1428487296152_25597
la source
web UI
?Spark History UI
YARNRUNNING
( yarn-host: 8088 / cluster / apps / RUNNING ) ou depuis l'Spark Job Web UI
URL ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )Il peut être long d'obtenir tous les identifiants d'application de YARN et de les supprimer un par un. Vous pouvez utiliser une boucle Bash for pour accomplir cette tâche répétitive rapidement et plus efficacement, comme indiqué ci-dessous:
Tuez toutes les applications sur YARN qui sont dans l'état ACCEPTÉ:
for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done
Tuez toutes les applications sur YARN qui sont à l'état RUNNING:
for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done
la source
https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Application_State_API
PUT http: // {adresse http rm: port} / ws / v1 / cluster / apps / {appid} / state
la source
Ce n'est peut-être pas une solution éthique et préférée, mais cela aide dans les environnements où vous ne pouvez pas accéder à la console pour arrêter le travail à l'aide de la commande d'application yarn.
Les étapes sont
Accédez à la page maître de l'application de la tâche Spark. Cliquez sur la section emplois. Cliquez sur l'étape active de la tâche active. Vous verrez le bouton "tuer" juste à côté de l'étape active.
Cela fonctionne si les étapes suivantes dépendent de l'étape en cours d'exécution. Bien qu'il marque le travail comme "Tué par l'utilisateur"
la source