2017-11-06 1 views
6

Wir bekommen zufällig NetworkExceptions und TimeoutExceptions in der Produktionsumgebung:Kafka Producer NetworkException und Timeout Ausnahmen

Brokers: 3 
Zookeepers: 3 
Servers: 3 
Kafka: 0.10.0.1 
Zookeeeper: 3.4.3 

Wir gelegentlich diese Ausnahme in meinem Produzenten Protokolle erhalten:

Verfallen 10 Satz (e) für THEMA: XXXXXX: 5608 ms ist seit Batch Erstellung plus Verweilzeit vergangen.

Die Anzahl der Millisekunden in solchen Fehlermeldungen ändert sich ständig. Manchmal ist es ~ 5 Sekunden anderen Zeiten ist es bis zu ~ 13 Sekunden!

Und sehr selten erhalten wir:

NetworkException: Server disconnected before response received. 

Cluster besteht aus Makler und zookeepers. Producer Server und Kafka Cluster sind in gleiche Netzwerk.

Ich mache synchrone Aufrufe. Es gibt einen Webdienst, an den mehrere Benutzeranfragen zum Senden ihrer Daten anrufen. Der Kafka-Webservice hat ein Producer-Objekt, das den gesamten Versand durchführt. Das Producer's Request Timeout war 1000ms anfänglich, das in 15000ms geändert wurde (15 Sekunden). Auch nach einer Erhöhung der Timeout-Zeit werden TimeoutExceptions immer noch in Fehlerprotokollen angezeigt.

Was kann der Grund sein?

+0

Vielleicht sollten Sie versuchen, Ihre Anfrage Timeout Verlängerung Sehen Sie, was das macht. –

+0

Welche Kafka-Version verwenden Sie? –

+1

Sicher, werde das versuchen. Was mich überrascht ist, dass dies eine Vorproduktionsumgebung ist. Wir haben sehr wenig Ladung. Nicht mehr als 100.000 Nachrichten an einem Tag.Liegt dies an Netzwerküberlastung? Wird das Netzwerk selbst bei so geringer Last überlastet? – Shades88

Antwort

0

Lösung 1

Ändern

listeners=PLAINTEXT://hostname:9092 

Eigenschaft in den server.properties zu

listeners=PLAINTEXT://0.0.0.0:9092 

Lösung 2

Änderungsdatei der brok Er.id auf einen Wert wie 1001, ändern Sie die Brocker-ID, indem Sie die Umgebungsvariable KAFKA_BROKER_ID setzen.

Sie werden die Umgebungsvariable KAFKA_RESERVED_BROKER_MAX_ID auf omething wie 1001 gesetzt haben, um die Broker-ID 1001.

Ich hoffe, abgebunden werden ihm helfen kann

+0

Ich glaube nicht, Lösung1 kann funktionieren. Ich habe in Broker-Einstellungen auf 0.0.0.0 gewechselt, jetzt funktionieren die Producer-Clients nicht mehr, da der Server auf 0.0.0.0 gebunden ist – Shades88