Wie verhindere ich, dass ein spark-streaming-job?

Ich habe eine Spark-Streaming-Auftrag ausgeführt wurde, kontinuierlich. Wie verhindere ich, dass der Auftrag ordnungsgemäß? Ich habe gelesen, die üblichen Empfehlungen, dort ein shutdown-hook im job-überwachung und sendet ein SIGTERM an den job.

sys.ShutdownHookThread {
  logger.info("Gracefully stopping Application...")
  ssc.stop(stopSparkContext = true, stopGracefully = true)
  logger.info("Application stopped gracefully")
}

Scheint es zu funktionieren, aber nicht Aussehen wie der sauberste Weg zu stoppen Sie den job. Bin ich hier etwas fehlt?

Aus code Perspektive kann es Sinn machen, aber wie verwenden Sie diese in einer cluster-Umgebung? Wenn wir beginnen, einen spark-streaming-job (wir verteilen die Aufträge auf allen Knoten im cluster) wir haben zu verfolgen, die PID für den job und die Knoten, auf dem es ausgeführt wurde. Schließlich, wenn wir haben, um den Prozess zu stoppen, müssen wir verfolgen, auf welchem Knoten der Auftrag wurde ausgeführt und die PID für, die. Ich habe nur gehofft, dass es eine einfachere Möglichkeit der job-control für streaming-jobs.

  • Was nicht sauber Aussehen zu Ihnen? Ich denke, das ist richtig.
  • Ich fügte einige weitere details zu der Frage.
InformationsquelleAutor Saket | 2015-09-15
Schreibe einen Kommentar