2

私は Kafka の初心者です。プロデューサーから数日後に、パーティション 1 、リフレクション ファクト -1 および ISR -1 を使用して (自動的に) いくつかのトピックが作成されます。それは正常に機能し、以前はすべてのトピック メッセージを正常に消費していました。

今日、つまり2日後、プロデューサーとコンシューマープログラムを実行しましたが、その逆も同様でしたが、コンシューマーはトピックからメッセージを消費/読み取ることができませんでした。すべてのログを確認しましたが、何が問題なのかわかりませんでした。

何がうまくいかないのですか?トピックはしばらくすると古くなりますか? kafka-server properties でチェックする必要があるプロパティ値はありますか?

私を助けてください。

ありがとうございました。〜シャム

4

1 に答える 1

1

提供されているさまざまなツールを使用して、kafka クラスターの正常性を確認する方法はいくつかあります。

  1. 提供されている ConsumerOffsetChecker クラスを使用して、プロデューサーとコンシューマーの間に遅延があるかどうかを検証します。

    bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect <zk host/ip>:<zk port> --group <consumer group name>
    
  2. 以下のような JMX メトリックを使用して、メッセージがクラスター レベルで生成されているかどうか、および追加のメトリックがあるかどうかを確認します。

    kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
    kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower}
    
  3. コンソール コンシューマを使用して、メッセージがトピックに存在するかどうかを検証します

    bin/kafka-console-consumer.sh --zookeeper <zk host/ip>:<zk port> --topic test --from-beginning
    
  4. kafka 構成 (server.properties ファイル) の log.retention.XXX 値を確認します。

追加の JMX 監視の詳細と構成は、ドキュメント リンクで入手できます。

最後の点は説明が少し複雑ですが、試してみます。confluent.ioのブログ リンクを見てください。プロデューサーがメッセージをブローカに送信する前にバッファリングすることについて説明しています。あなたの問題が関連しているかどうかはわかりません。

于 2016-02-16T05:19:22.487 に答える