2017-04-10 1 views
1

alle auflisten, es gibt einen virtuellen Server im lokalen Netzwerk, der IP ist 192.168.18.230, und meine Maschine IP ist 192.168.0.175. Heute versuche ich meine Maschine (192.168.0.175) zu verwenden, einige Nachrichten zu meinem virtuellen Server (192.168.18.230) zu senden, mit dem Kafka KonsolenherstellerIch kann keine Daten an Kafka erzeugen, wenn ich das Skript verwende, aber ich kann Themen mit dem Skript

$ bin/kafka-console-producer.sh --broker-list 192.168.18.230:9092 --topic test 

aber es ist etwas falsch. Die Beschreibung des Problems ist:

[2017-04-10 17:25:40,396] ERROR Error when sending message to topic test with key: null, value: 6 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) 
org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for test-0 due to 1568 ms has passed since batch creation plus linger time 

Aber wenn ich die kafka-topics Skript Themen aufzuzählen, es funktioniert:

$ bin/kafka-topics.sh --list --zookeeper 192.168.18.230:2181 

Dieses Problem verwirrt mich eine sehr lange Zeit, kann jede Stelle mir helfen, löse es?

+0

Erstens, können Sie tatsächlich den Broker-Port '192.168.18.230: 9092' von Ihrer Maschine bei' 192.168.0.175' erreichen? Dein 'netstat -nlp | Der Befehl grep 9092' wurde auf Ihrer VM ausgeführt, daher ist es nicht hilfreich, meine erste Frage zu beantworten. Könnten Sie die Netstat-Ausgabe teilen? Können Sie die Konfiguration Ihres Brokers auch als 'server.properties' teilen? Ich nehme an, Ihr Problem ähnelt https://stackoverflow.com/questions/38260091/kafka-0-10-java-client-timeoutexception-batch-containing-1-records- expired und/oder https://stackoverflow.com/questions/34794260/When-does-the-apache-kafka-Client-throw-a-batch-expired-exception. –

Antwort

1

Wenn Sie eine Tierpfleger-Instanz haben, die gerade ausgeführt wird, können Sie natürlich die Themenliste abfragen. Es scheint jedoch, dass Sie keinen Kafka-Broker zur Verfügung haben.

Sie haben vielleicht einen Tierpfleger laufen, aber nicht Kafka.

+0

Vielen Dank für die Antwort, aber ich habe den Befehl "netstat -nlp | grep 9092" verwendet, um sicherzustellen, dass der Kafka-Prozess in meinem virtuellen Server ausgeführt wird, und auf die andere Weise habe ich den Befehl kafka produzieren und konsumieren in der virtueller Server, um zu testen, ob er normal ausgeführt wird. –

+0

Stellen Sie sicher, dass Sie Port 9092 geöffnet haben. –

+0

Ich habe Port 9092 geöffnet .... Ich bin mir sicher ... die Bedingung ist, dass ich den Producer und den Consumer in meiner virtuellen Maschine teste. wie ein Terminal-Eingang "123" und ein anderes Terminal kann "123" ausgeben. Aber wenn ich den Consumer in meiner virtuellen Maschine starte und den Producer auf der eigenen Maschine starte, kann ich bei Eingabe von "123" meine virtuelle Maschine nicht "123" ausgeben, und der Fehler ist genau wie das Problem ....... –

Verwandte Themen