2016-06-18 5 views
3

Spark Streamingアプリケーションは、基本的に何時間もスケジューリング遅延がゼロですが、突然ジャンプして複数の分にジャンプし、制御不能になります。mounting delayこれは、バッチ間隔を2倍にします。Spark Streamingのスケジューリング遅延の復旧手法

遅延が発生する原因についてはわかりません(理論にはガーベジコレクションが含まれています)。クラスタは、3つ、5つ、または10つのスレーブを使用するかどうかにかかわらず、一般にCPU使用率が低くなります。

遅延がこのような長い期間ゼロであるため、バッチ間隔をさらに増やすことは本当に嫌です。スケジュール遅延の突然の急上昇から回復時間を改善する技術はありますか?私たちはそれがそれ自身で回復するかどうかを見てみましたが、それがまったく回復しても何時間もかかります。

+0

問題の原因となっている最初のバッチにエラーはありますか? – Knight71

+0

いいえ、ジョブはエラーを処理していません。 – CAJ

答えて

0

バッチリンクを開き、どのステージが遅延しているかを特定します。この遅延に影響を与える他のDB /アプリケーションへの外部アクセスはありますか?

enter image description here

ゴー各ジョブで、各エグゼキュータによって処理されたデータ/記録を参照してください。ここで問題を見つけることができます。

enter image description here

は、同様のデータパーティション内の歪度があるかもしれません。アプリケーションがカフカからデータを読み込んで処理している場合、分割がうまく定義されていないと、コア間のデータに歪みが生じる可能性があります。パラメータの調整:カフカパーティション数、RDDパーティション数、エグゼキュータ数、エグゼキュータコア数。

関連する問題