2017-09-03 6 views
1

私はJavaで書かれたスパークストリーミングアプリを持っています。時間の経過後にSparkドライバを再起動するようにYARNを設定するには?

ドライバが定義済みの時間間隔内にストリーミングバッチを完了していない場合は、ドライバを再起動します。

タイマーを実装せずにドライバコード内から例外をスローすると、スレッドはアプリケーションを正常に再起動します。 タイマー(ドライバとは別のスレッドにある必要がある)を追加しようとすると、割り当てられた時間が経過した後で例外をスローすると、糸がドライバを再起動しません。 私の推測では、例外はドライバスレッド内からスローされる必要があるということです。

これを達成する方法はありますか?

答えて

-1

--superviseは、ゼロ以外の終了コードで失敗した場合、ドライバが自動的に再起動されるようにするために使用されます。 (鉱山を強調表示)ご指摘のドキュメントを引用

https://spark.apache.org/docs/latest/submitting-applications.html

+0

:**スパークスタンドアローンで、たとえば「_クラスタデプロイモードでクラスタを、あなたはまた、ことを確認するために--superviseを指定することができますドライバが0以外の終了コードで失敗した場合、ドライバは自動的に再起動されます。 "_ –

+0

ドライバが失敗したときに再起動するとうまくいきます。 しかし、一定の時間が経過しても現在のバッチが終了していない場合に備えて、(同じapplicationIdの下で)ドライバを事前に再起動する方法を探しています。 –

関連する問題