2016-04-05 14 views
2

Wir verwenden Kafka Cluster mit 3 Servern, alle von ihnen haben auch Tierpfleger. Wir haben 7 Themen mit jeweils 6 Partitionen. Wir haben 3 Java-Konsumenten für jedes Thema. Wenn ich den Consumer starte, dauert es fast 3-5 Minuten, um den Konsumenten Partitionen zuzuordnen. Das gleiche Verhalten tritt auf, wenn wir einen der Verbraucher stoppen und erneut starten. Wie kann ich es kontrollieren oder reduzieren?Kafka Partition Rebalancing (Zuordnung) dauert zu viel Zeit

Bitte beachten Sie, ich bin mit KAFKA 0,9, mit neuen Verbrauchern

ich hinzugefügt haben, unter Eigenschaften in server.properties jeden kafka

auto.leader.rebalance.enable=true 
leader.imbalance.check.interval.seconds=10 

Lassen Sie mich wissen, wenn Sie mehr Informationen benötigen. Danke

Antwort

3

Überprüfen Sie den Wert, den Ihr Consumer für 'session.timeout.ms' verwendet.

Der Standardwert ist 30 Sekunden und die Koordination wird keine Neuverteilung auslösen, bis diese Zeit verstrichen ist. kein Herzschlag für 30 Sekunden.

Die Gefahr, dies zu verringern, ist, wenn Sie zu lange brauchen, um die Nachrichten zu verarbeiten, kann es zu einem Ausgleich kommen, weil der Koordinator denkt, dass Ihr Konsument tot ist.

+0

Ja, das könnte der Grund sein, weil ich lange Sitzungszeit als 5 Minuten verwende, Verarbeitung der Nachricht dauert etwa 2-3 Minuten. Gibt es einen anderen Weg? –

+0

Wenn es so lange dauert, um eine einzelne Nachricht zu verarbeiten, dann nein. Sie könnten die Nachricht immer in eine Datenbank schreiben und einen anderen Prozess durchführen. –