2015-11-25 8 views
12

Ich versuche herauszufinden, welche Offsets meine aktuellen High-Level-Verbraucher abarbeiten. Ich benutze Kafka 0.8.2.1, mit nein "offset.storage" in den server.properties von Kafka - was meiner Meinung nach bedeutet, dass Offsets in Kafka gespeichert sind. (I bestätigte auch, dass keine Versetzungen durch Prüfen dieses Weges in der Zk Schale in Zookeeper gespeichert sind: /Verbraucher/consumer_group_name/Offsets/TOPIC_NAME/Partitions)Kafka 0.8.2.1 Wie liest man aus __consumer_offsets topic

habe ich versucht, die __consumer_offsets Thema zu hören, um zu sehen was Verbraucher spart, was Wert von Offsets, aber es hat nicht funktioniert ...

ich habe versucht, die folgenden:

eine Konfigurationsdatei für die Konsole Verbraucher wie folgt erstellt:

=> more kafka_offset_consumer.config 

exclude.internal.topics=false 

und versuchte, zwei Versionen der Konsole Verbraucher Skripte:

#1: 
bin/kafka-console-consumer.sh --consumer.config kafka_offset_consumer.config --topic __consumer_offsets --zookeeper localhost:2181 

#2 
./bin/kafka-simple-consumer-shell.sh --topic __consumer_offsets --partition 0 --broker-list localhost:9092 --formatter "kafka.server.OffsetManager\$OffsetsMessageFormatter" --consumer.config kafka_offset_consumer.config 

Weder gearbeitet - es gibt nur sitzt aber nicht alles drucken, auch wenn die Verbraucher aktiv verbrauchen/Speichern-Offsets.

Fehle ich einige andere Konfiguration/Eigenschaften?

danke!

Marina

Antwort

22

ich auf dieser Frage kam, als auch versuchen, aus dem __consumer_offsets Thema verbrauchen. Ich schaffte es, herauszufinden, für verschiedene Kafka Versionen und dachte, ich würde teilen, was ich

Für Kafka gefunden hatte 0.8.2.x

#Create consumer config 
echo "exclude.internal.topics=false" > /tmp/consumer.config 
#Consume all offsets 
./kafka-console-consumer.sh --consumer.config /tmp/consumer.config \ 
--formatter "kafka.server.OffsetManager\$OffsetsMessageFormatter" \ 
--zookeeper localhost:2181 --topic __consumer_offsets --from-beginning 

Für Kafka 0.9.xx und 0.10.0.0

#Create consumer config 
echo "exclude.internal.topics=false" > /tmp/consumer.config 
#Consume all offsets 
./kafka-console-consumer.sh --consumer.config /tmp/consumer.config \ 
--formatter "kafka.coordinator.GroupMetadataManager\$OffsetsMessageFormatter" \ 
--zookeeper localhost:2181 --topic __consumer_offsets --from-beginning 

Für 0.11.0.0

#Create consumer config 
echo "exclude.internal.topics=false" > /tmp/consumer.config 
#Consume all offsets 
./kafka-console-consumer.sh --consumer.config /tmp/consumer.config \ 
--formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" \ 
--zookeeper localhost:2181 --topic __consumer_offsets --from-beginning 
+0

genial, danke für die Freigabe! – Marina

+3

Ab heute Formatierung wurde aktualisiert zu 'kafka.coordinator.group.GroupMetadataManager \ $ OffsetsMessageFormatter'. – lafolle

2

Wenn Sie --from-beginning hinzugefügt wird, sollte höchstwahrscheinlich gibt Ihnen einige Ergebnisse, zumindest es tat, als ich selber ausprobiert. Und wenn Sie dieses Argument nicht angeben, aber mehr Nachrichten lesen (und Offset-Commits auslösen), während Sie diesen Verbraucher hören, sollten auch dort Meldungen angezeigt werden.

+0

Danke, Guillaume. Leider half das Hinzufügen - von Anfang an nicht - gleiches Verhalten ....der Verbraucher sitzt nur da und bekommt keine Daten, wenn ich Cntr-C es - es sagt "0 Nachrichten" verbraucht :( – Marina

3

Ok, ich habe herausgefunden, was das Problem war. Mein Kafka wurde mit tatsächlich Zookeeper als Offset Lagerung, nicht Kafka .... Der Grund, warum ich das nicht hätte erkennen sofort, weil ich ZK Inhalt falsch war die Überprüfung:

ich tat

ls /consumers/consumer_group_name/offsets/topic_name/partition_number 

und da nichts zu sehen. Stattdessen musste ich ‚get‘ Inhalt - was für meine Verbraucher korrekte Offsets zeigen tat, wie unten:

get /consumers/consumer_group_name/offsets/topic_name/partition_number 
185530404 
cZxid = 0x70789ad05 
ctime = Mon Nov 23 17:49:46 GMT 2015 
mZxid = 0x7216cdc5c 
mtime = Thu Dec 03 20:18:57 GMT 2015 
pZxid = 0x70789ad05 
cversion = 0 
dataVersion = 3537384 
aclVersion = 0 
ephemeralOwner = 0x0 
dataLength = 9 
numChildren = 0