apache-spark - lib - spark streaming sbt



Comment arrêter d'exécuter l'application Spark Streaming avec élégance? (1)

Jetez un oeil à ce blogpost . C'est la façon la plus «agréable» de mettre fin gracieusement à un travail de streaming que j'ai rencontré.

Comment passer le signal d'arrêt:

Nous savons maintenant comment garantir un arrêt en continu dans la diffusion d'étincelles. Mais comment pouvons-nous passer le signal d'arrêt pour déclencher le streaming. Une option naïve est d'utiliser la commande CTRL + C sur le terminal écran où nous exécutons le programme du pilote, mais ce n'est évidemment pas une bonne option. Une solution, que j'utilise est, Grep le processus de diffusion d'étincelle du pilote et envoyer un signal SIGTERM. Lorsque le pilote reçoit ce signal, il déclenche l'arrêt normal de l'application. Nous pouvons écrire la commande comme ci-dessous dans un script shell et exécuter le script pour passer le signal d'arrêt:

ps -ef | grep étincelle | grep | awk '{print $ 2}' | xargs tue -SIGTERM

par exemple ps -ef | grep étincelle | grep DataPipelineStreamDriver | awk '{print $ 2}' | xargs tue -SIGTERM

Comment arrêter le streaming d'étincelles? Mon travail de diffusion d'étincelles fonctionne continuellement. Je veux arrêter d'une manière gracieuse.

J'ai vu ci-dessous l'option pour arrêter l'application de streaming.

sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true") 

Configuration Spark: propriétés disponibles

Mais, comment puis-je mettre à jour ce paramètre sur une application en cours d'exécution?





spark-streaming