web-dev-qa-db-fra.com

Comment quitter spark-submit après la soumission

Lors de la soumission d'un programme de diffusion d'étincelles à l'aide de la méthode spark-submit (mode YARN) , Il continue à interroger l'état et ne quitte jamais

Y at-il une option dans spark-submit pour quitter après la soumission?

=== pourquoi cela me trouble ===

Le programme de streaming fonctionnera indéfiniment et je n'ai pas besoin de la mise à jour du statut

Je peux ctrl + c pour l'arrêter si je le démarre manuellement Mais j'ai beaucoup de contexte de streaming pour commencer et j'ai besoin de les démarrer en utilisant un script

Je peux mettre le programme spark-submit en arrière-plan, , Mais après la création de nombreux processus Java en arrière-plan, l'utilisateur correspondant à ne pourra plus exécuter aucun autre processus Java, car la machine virtuelle Java ne peut pas créer de thread GC.

11
Peter Chan

Intéressant. Je n'ai jamais pensé à ce problème. Je ne suis pas sûr qu'il existe un moyen propre de le faire, mais je supprime simplement le processus de soumission sur la machine et le travail de fil continue de s'exécuter jusqu'à ce que vous le stoppiez spécifiquement. Ainsi, vous pouvez créer un script qui exécute la soumission par étincelle, puis le tue. Quand vous voulez vraiment arrêter le travail, utilisez le filé-Kill. Sale mais ça marche. 

1
z-star

Je sais que c’est une vieille question, mais il existe un moyen de le faire maintenant en définissant --conf spark.yarn.submit.waitAppCompletion=false lorsque vous utilisez spark-submit. Avec cela, le client va quitter après avoir soumis avec succès l'application.

En mode cluster YARN, contrôle si le client attend de quitter jusqu'à ce que Se termine. Si la valeur est true, le processus client restera actif Pour signaler le statut de l'application. Sinon, le processus client Se terminera après la soumission.

En outre, vous devrez peut-être définir --deploy-mode sur cluster

En mode cluster, le pilote Spark s'exécute dans un processus de maître d'application Géré par YARN sur le cluster et le client peut quitter Après avoir lancé l'application.

Plus à https://spark.Apache.org/docs/1.6.1/running-on-yarn.html

57
Mateusz Dymczyk

la commande timeout TIME CMD va fermer CMD après TIME

0
hustljian