web-dev-qa-db-ja.com

Kafka消費者リスト

Kafkaにトピックのリストを尋ねる方法を見つける必要があります。 kafka-topics.shディレクトリに含まれるbin\スクリプトを使用して、それができることを知っています。このリストを作成したら、トピックごとにすべてのコンシューマーが必要になります。そのディレクトリでスクリプトを見つけることができませんでした。また、kafka-consumer-apiライブラリでそれを実行できるクラスも見つかりませんでした。

この背後にある理由は、トピックのオフセットと消費者のオフセットの違いを把握する必要があるからです。

これを達成する方法はありますか?または、各消費者にこの機能を実装する必要がありますか?

33
Tavo

Kafka-consumer-groups.shを使用します

例えば

bin/kafka-consumer-groups.sh  --list --bootstrap-server localhost:9092

bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092
61
Basanth Roy

0.9.0.0でこれを使用できます。バージョンカフカ

./kafka-consumer-groups.sh --list --zookeeper hostname:potnumber

作成したグループを表示します。これにより、すべてのコンシューマグループ名が表示されます。

 ./kafka-consumer-groups.sh --describe --zookeeper hostname:potnumber  --describe  --group consumer_group_name

詳細を表示するには

GROUP, TOPIC, PARTITION, CURRENT OFFSET, LOG END OFFSET, LAG, OWNER
12

Kafkaはすべての情報を動物園管理者に保存します。すべてのトピック関連情報は、brokers-> topicsで確認できます。すべてのトピックをプログラムで取得する場合は、Zookeeper APIを使用して実行できます。

以下のリンクで詳細に説明されています TutorialspointZookeeper Programmer guide

3
Prasad

高レベルのコンシューマはZookeeperに登録されているため、kafka-topics.shがトピックのリストを取得する方法と同様に、ZKからリストを取得できます。 all消費者を収集する方法はないと思います。いくつかの消費要求で送信するアプリケーションは実際には「消費者」であり、それらが既に行われたかどうかはわかりません。

コンシューマー側には、 遅延を監視するために公開されるJMXメトリック があります。また、遅延監視には Burrow があります。

2
sandris

この質問はもう4年近く経っています。それ以来、Kafkaで多くの変更が行われました。これは上記のとおりですが、小さな活字でしか書かれていないので、私がこの質問に出くわしたユーザーのために書いています。

  1. オフセットはデフォルトでKafkaトピックに保存されるようになりました(Zookeeperではなくなりました)。 ZookeeperまたはKafkaに保存されたオフセット?
  2. トピックとパーティションのオフセット、コンシューマー、さらにはラグを含むすべての情報を返すkafka-consumer-groupsユーティリティがあります(注:トピックのオフセットを要求するとき、私はあなたがトピックのパーティション)。 Kafka 2.0テストクラスターで:
kafka-consumer-groups --bootstrap-server kafka:9092 --describe
    --group console-consumer-69763 Consumer group 'console-consumer-69763' has no active members.

TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID     Host            CLIENT-ID
pytest          0          5               6               1               -               -               -
``


2
ynux