2017-06-28 4 views
0

Ich versuche (und scheitert), ein dockerized kafka auf meinem Mac-Rechner (MacOS Sierra (10.12.2)) zu starten. Ich habe Docker für Mac Version 17.03.1-CE, bauen c6d412e. Dies sind die Bilder, die ich benutze.Scheitern Dockerized Kafka auf MacOS

Und ich Anschluss an die Beratung in den offiziellen quickstart guide, läuft Zookeeper und Kafka mit den folgenden Befehlen.

docker run -d \ 
    --net=host \ 
    --name=zookeeper \ 
    -e ZOOKEEPER_CLIENT_PORT=32181 \ 
    confluentinc/cp-zookeeper:3.2.1 

docker run -d \ 
    --net=host \ 
    --name=kafka \ 
    -e KAFKA_ZOOKEEPER_CONNECT=localhost:32181 \ 
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092 \ 
    confluentinc/cp-kafka:3.2.1 

MAIN Diese sonst nicht mit Docker-compose funktioniert. Wieder ist es auf meinem Mac, Version 1.11.2, Build dfed245.

Die Dienste werden gestartet, und ich kann sogar ein Thema mit diesen Befehlen erstellen.

kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test 
kafka-topics --list --zookeeper zookeeper:2181 

Wenn ich versuche, mit diesem Befehl zu produzieren, bleibt zoekeeper still.

kafka-console-producer --broker-list kafka:9092 --topic test 
message-one 
message-two 

Wenn ich versuche, mit diesem Befehl zu konsumieren:

kafka-console-consumer --bootstrap-server zookeeper:2181 --topic test --from-beginning 

.. zookeeper spuckt ständig diesen Fehler aus:

... 
zookeeper_1 | [2017-06-28 00:55:07,222] INFO Accepted socket connection from /172.20.0.3:52124 (org.apache.zookeeper.server.NIOServerCnxnFactory) 
zookeeper_1 | [2017-06-28 00:55:07,222] WARN Exception causing close of session 0x0 due to java.io.EOFException (org.apache.zookeeper.server.NIOServerCnxn) 
zookeeper_1 | [2017-06-28 00:55:07,223] INFO Closed socket connection for client /172.20.0.3:52124 (no session established for client) (org.apache.zookeeper.server.NIOServerCnxn) 
... 

Antwort

2

Sie haben den falschen Host und Port für den neuen angegeben Konsolenverbraucher. Versuchen console-consumer --bootstrap-server kafka:9092 --topic test --from-beginning

Auch wenn Sie diese Befehle von außerhalb Docker (dh auf der nativen macOS Host) laufen dann bearbeiten Sie Ihre/etc/hosts-Datei kafka und zookeeper als Aliase für localhost

Sie könnten auch hinzufügen möchten deklarieren und mounten Sie ein externes Volume für die Tier- und Kafka-Protokolle, damit Ihre Daten nicht verloren gehen, wenn Sie die Docker-Images zerstören und auf eine neuere Version aktualisieren.

Confluent hat einen vollen Quickstart für diese Bilder dokumentiert hier http://docs.confluent.io/current/cp-docker-images/docs/quickstart.html

+0

das war es. Ich hatte gerade auf die Konsole geschaut. Derp Fehler. Vielen Dank! – Nutritioustim

+0

Wenn Befehle außerhalb von Docker ausgeführt werden: Sie müssen Ihre Datei/etc/hosts nicht bearbeiten. Es funktioniert sofort, wenn Sie den Kafka-Container richtig konfiguriert haben, siehe meine Antwort unter https://stackoverflow.com/a/44387281/1743580. –