2016-09-15 8 views
3

私は複数のストリームで動作するApache Sparkアプリケーションを構築しています。 http://spark.apache.org/docs/latest/streaming-programming-guide.html#performance-tuningスパークストリーミングと高可用性

私は何を取得していないことである:

1)は、ストリーミング受信機は、複数のワーカーノード上にあるか、ドライバのマシンがあるされています

は、私は、ドキュメントのパフォーマンスチューニングのセクションをお読みましたか?

2)データを受信したノードのいずれかに障害が発生した場合どうなります(電源オフ/再起動)

答えて

3

は、複数のワーカーノード上にあるストリーミングレシーバーですか ドライバマシン

です

レシーバはワーカーノードにあり、データを保持する送信元の消費を担当します。データを受信したノードのいずれかが

受信機はワーカーノードに配置されている(電源 オフ/再起動)が失敗した場合にどうなる

。ワーカーノードはドライバからタスクを取得します。このドライバは、クライアントモードで実行している場合は専用のマスターサーバーに、クラスタモードで実行している場合はワーカーのいずれかに配置できます。ドライバを実行しないノードに障害が発生した場合、ドライバは障害の発生したノードに保持されているパーティションを別のパーティションに再割り当てし、ソースからデータを再読み込みし、障害から回復するために必要な処理。

これは、再生可能なソース(KafkaやAWS Kinesisなど)が必要な理由です。

+0

受信者がいるワーカーが殺された場合、ドライバは受信者を再インスタンス化し、新しいワーカーが再びデータの受信を開始します。それは合理的だと思われますが、それはどこかに文書化されていますか? –

+1

@PiotrRあなたはこれを探していると思います(http://spark.apache.org/docs/latest/streaming-programming-guide.html#fault-tolerance-semantics) –

関連する問題