次のように、kafka-console-consumer.sh を使用してメッセージを消費している場所から Kafka アプリケーションがあります。
$./kafka-console-consumer.sh --zookeeper zookeeperhost:2181 --topic myTopic
これにより、私が Kafka コンシューマーを介して Kafka ブローカーに書き込むすべてのメッセージが見落とされずに提供されます。
最近、zookeeperhost にアクセスできない (何らかの理由で) 別の環境にアプリケーションをデプロイしました。したがって、代わりに以下のように kafka-simple-consumer-shell.sh を使用しています。
$./kafka-simple-consumer-shell.sh --broker-list brokerhost:9092 --topic myTopic --partition 0 --max-messages 1
しかし、これを使用すると、ほとんどのメッセージ (5000 件中 2 ~ 4 件) が見落とされます。誰かが kafka-simple-consumer-shell.sh がメッセージを読み取る方法を説明してください。
おそらくいくつかのメッセージが別のパーティションに送られているのではないかと疑っています.パーティション0から読み取っているだけなので、毎回すべてのメッセージを取得しているわけではありません. しかし、パーティションの数を確認する方法がわかりませんか? 他のパーティションのIDは何ですか?1でやってみましたがダメでした。
誰か助けてください。