2015-09-21 14 views
10

Ich muss einen Weg finden, Kafka nach einer Liste von Themen zu fragen. Ich weiß, dass ich das mit dem Skript kafka-topics.sh im Verzeichnis bin\ tun kann. Sobald ich diese Liste habe, brauche ich alle Verbraucher pro Thema. Ich konnte weder ein Skript in diesem Verzeichnis noch eine Klasse in der Bibliothek kafka-consumer-api finden, die es mir erlaubt.Kafka-Verbraucherliste

Der Grund dafür ist, dass ich den Unterschied zwischen dem Offset des Themas und den Offsets der Verbraucher herausfinden muss.

Gibt es einen Weg, dies zu erreichen? Oder muss ich diese Funktionalität in jedem meiner Kunden implementieren?

Antwort

2

Kafka speichert alle Informationen im Tierpfleger. Sie können alle themenbezogenen Informationen unter brokers-> Themen sehen. Wenn Sie alle Themen programmgesteuert abrufen möchten, können Sie dies mit der Zookeeper-API tun.

Es ausführlich im Folgenden erläutert wird, verbindet Tutorialspoint, Zookeeper Programmer guide

1

High-Level-Konsumenten sind in Zookeeper registriert, so dass Sie eine Liste von ZK abrufen können, ähnlich wie kafka-topics.sh die Liste der Themen abruft. Ich glaube nicht, dass es eine Möglichkeit gibt, alle Verbraucher zu sammeln; Jede Anwendung, die einige wenige Anfragen sendet, ist tatsächlich ein "Verbraucher", und Sie können nicht sagen, ob sie bereits erledigt sind.

Auf der Verbraucherseite gibt es eine JMX-Metrik ausgesetzt, um die Verzögerung zu überwachen: http://docs.confluent.io/1.0.1/kafka/monitoring.html#consumer-metrics. Außerdem gibt es Burrow für die Lag-Überwachung.

21

Verwenden kafka-consumer-groups.sh

Zum Beispiel

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

bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092 
+2

zu sehen, wir --zookeeper nicht --bootstrap-Server –

+0

0.9.0.0 Version –

+1

aber 0.9.0.0 ist nicht eine alte Version von kafka :) –

7

Sie dies für 0.9.0.0 verwenden können. Version kafka

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

, um die von Ihnen erstellten Gruppen anzuzeigen. Dies zeigt alle Namen der Verbrauchergruppe an.

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

die Details

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