2017-03-28 3 views
1

Ich habe mit Kafka etwas sehr Seltsames gefunden.Kafka Consumer mit neuer API funktioniert nicht

Ich habe einen Produzenten mit 3 Makler:

bin/kafka-console-producer.sh --broker-list localhost:9093, localhost:9094, localhost:9095 --topic topic 

Dann versuche ich, einen Verbraucher mit der neuen API auszuführen:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --topic topic --from-beginning 

Ich habe nichts! Aber wenn ich die alte API verwende:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic topic 

Ich habe meine Nachrichten!

Was ist los mit mir?

PS: Ich bin mit Kafka 10

+0

Ich bin mir nicht sicher, aber ich denke, '--bootstrap-server' nimmt nur einen einzigen' host: port' und nicht eine Liste? Möglicherweise müssen Sie auch '--new-consumer' hinzufügen. –

+0

Vielen Dank für Ihre Antwort. Es hat versucht, was Sie vorschlagen, hat aber nicht funktioniert. Ich löse schließlich mein Problem (siehe meine Antwort). – ImbaBalboa

Antwort

2

ich beschlossen schließlich mein Problem dank dieser ähnlichen Beitrag: Kafka bootstrap-servers vs zookeeper in kafka-console-consumer

Ich glaube, es ist ein Fehler/falsche Konfiguration von mir ein Problem mit zookeeper führenden und kafka .

LÖSUNG:

zunächst sicher sein, haben Thema Löschen in server.properties Dateien Ihrer Broker ermöglichen:

# Switch to enable topic deletion or not, default value is false 
delete.topic.enable=true 

Dann das Thema löschen:

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic myTopic 

Entfernen Sie alle /tmp/log.dir Verzeichnisse Ihrer Broker.

EDIT: Ich stellte wieder das Problem und ich musste auch die Protokolldateien von Tierpfleger in /tmp/zookeeper/version-2/ entfernen.

schließlich das Thema in /brokers/topics in zookeeper wie folgt löschen:

$ kafka/bin/zookeeper-shell.sh localhost:2181 
Connecting to localhost:2181 
Welcome to ZooKeeper! 
JLine support is disabled 

rmr /broker/topics/mytopic 

Und Ihre Broker neu starten und Ihr Thema erneut erstellen.

+0

Das löste sich für mich, großartig! Wie steht es aber in der Produktion? Sollten wir Themen nicht löschen? –

+1

Ich glaube nicht, dass dies eine Antwort ist, da kein Root bereitgestellt wurde, eher einfache und spezifische Setup-Schritte. –

0

Nach einer Weile mit dem gleichen Problem kämpfen. Geben Sie --partition und Console Consumer neue API funktioniert (aber hängt ..). Ich habe CDH 5.12 + Kafka 0.11 (vom Paket).

UPD:

auch herausfinden, dass Kafka 3.0.0 (0,11) CDH parclel nicht richtig funktioniert Nachrichten mit raubend. Nach einem Downgrade auf Kafka 0.10 wird es OK. --partition braucht nicht mehr.