私はSpark Streamingジョブを継続して実行しています。仕事を優雅にやめさせるにはどうすればいいですか?私はジョブの監視にシャットダウンフックをつけ、ジョブにSIGTERMを送るという、通常の推奨事項を読んだ。スパークストリーミングジョブを停止するにはどうすればよいですか?
sys.ShutdownHookThread {
logger.info("Gracefully stopping Application...")
ssc.stop(stopSparkContext = true, stopGracefully = true)
logger.info("Application stopped gracefully")
}
これは動作しているようですが、ジョブを停止する最もクリーンな方法のようには見えません。私はここに何かを逃していますか
コードの観点からは、意味をなさないかもしれませんが、これをクラスター環境でどのように使用しますか?スパークストリーミングジョブを開始すると(クラスター内のすべてのノードでジョブを配布する)、ジョブとそれが実行されていたノードのPIDを追跡する必要があります。最後に、プロセスを停止する必要があるときは、ジョブが実行されているノードとそのPIDを追跡する必要があります。私はちょうどストリーミングジョブのジョブコントロールのより簡単な方法があることを望んでいた。
あなたはきれいに見えませんか?私はこれが正しいと思います。 –
質問にいくつかの詳細を追加しました。 – Saket