2

私はこのパラメーターをいじっていて、奇妙なことに遭遇しました。私のアプリはそれがなくても問題なく動作しますが、次の行を構成に追加すると:

 config.put(StreamsConfig.NUM_STREAM_THREADS_CONFIG, "3");

CPU 使用率がゼロを超えることはありません。アプリは何もしていないようです。エラーなし。

KStreams アプリのスレッド使用量を増やすための推奨される方法はありますか? それとも、ただ「力を信じて」、すべてを一緒に実行させますか?


編集:

  1. 私は2つのパーティションを持っています
  2. 消費者の遅れを確認しましたkafka-consumer-groups- 利用可能な多くの記録
  3. パーティションが 1 つしかない場合でも、複数のスレッドを使用しても何も起こらないのはなぜでしょうか。0% CPU。
4

1 に答える 1

7

パーティションはいくつありますか? パーティションが 1 つしかない場合、パーティションの数によって最大並列処理が定義されるため、スレッドの数を増やしても効果はありません。したがって、1 つのパーティションと 3 つのスレッドがある場合、使用中のスレッドは 1 つだけになります。

入力トピックで使用できるデータがあることを確認してください。StreamsConfig.AUTO_OFFSET_RESET_CONFIGに設定されていることを確認してくださいlatest。以前に同じものを実行した場合applicationId、Kafka Streams はすでにすべてのデータを消費している可能性があるため、何もする必要はありません。この場合、別のツールをapplicationId使用するか、Kafka Streams Reset Toolを使用してトピックをリセットできます。

この設定は、一部のテスト ( KStreamRepartitionJoinTestなど) で使用され、正常に動作しているようです。

于 2016-09-07T13:31:22.360 に答える