0
私のトポロジでは、メッセージを受信するためにポート5555で開いたソケットを持つスパウトがあります。どのスーパーバイザがそのスパウトを聞いていますか?
ストームクラスタにスーパーバイザが10人いる場合、それぞれの5555ポートを監視しますか?
最後に、どのスーパーバイザにメッセージを送信する必要がありますか?ここ
私のトポロジでは、メッセージを受信するためにポート5555で開いたソケットを持つスパウトがあります。どのスーパーバイザがそのスパウトを聞いていますか?
ストームクラスタにスーパーバイザが10人いる場合、それぞれの5555ポートを監視しますか?
最後に、どのスーパーバイザにメッセージを送信する必要がありますか?ここ
複数のコメント:
number_of_workers
を参照)を実行するワーカーJVMを起動する:あなたの注ぎ口の並列処理は、監督者にはスパウトのコードを実行するか、parallelims_hint
、デフォルト値は1ではありません) Stormは負荷分散されたラウンドロビンスケジューラを使用します。したがって、2人のSpoutエグゼキュータが同じワーカーJVM(または同じホスト上の異なるワーカー)にスケジュールされることがあります。このような場合のために、あなたは、ポートの競合を取得します(一つだけ実行するには、ポートを開くことができます)fieldsGrouping
を使用してください。ただし、Spoutでプルベースのデータ取り込みを使用する場合は、各Spoutが特定のパーティションからデータを取得し、問題が自然に解決されるようにすることができます。要約:プッシュベースのデータ取り込みを使用することは悪い考えかもしれません。
は、プッシュの代わりにポーリングを使用するか、中間のman/lbのような他のデザインを使用する必要があるようです – Mzf