Entfernen einer Kafka-Konsumentengruppe im Tierpfleger

8

Ich benutze kafka_2.9.2-0.8.1.1 mit dem Tierpfleger 3.4.6.

Gibt es ein Dienstprogramm, das eine Verbrauchergruppe automatisch aus dem Zoowächter entfernen kann? Oder kann ich einfach alles unter / consumers / [group_id] in zookee entfernen? Wenn letzteres, gibt es noch etwas, das ich vermisse & amp; kann dies mit einem Live-System gemacht werden?

    
Foo L 24.03.2015, 22:15
quelle

3 Antworten

12

Wie ich weiß, ist die einzige Möglichkeit, eine Kafka-Konsumentengruppe zu entfernen, der manuelle Weg des Zookeeper-Pfades /consumers/[group_id] .

Wenn Sie nur eine Verbrauchergruppe löschen möchten, müssen Sie sich keine Gedanken darüber machen, den Zookeeper-Pfad manuell zu löschen, aber wenn Sie dies für das Zurückspulen von Offsets tun, ist das Folgende hilfreich.

Zunächst sollten Sie alle Konsumenten vor dem Entfernen des Zookeeper-Pfades stoppen. Wenn Sie dies nicht tun, werden diese Konsumenten keine neu erzeugten Nachrichten konsumieren und werden bald Verbindungen zum Zookeeper-Cluster schließen.

Wenn Sie die Konsumenten neu starten, wenn Sie möchten, dass die Konsumenten von vorne anfangen, geben Sie auto.offset.reset -Eigenschaft an smallest . Der Standardwert der Eigenschaft ist largest , wodurch die Benutzer nach dem größten Offset neu gestartet werden, was wiederum nur neu erstellte Nachrichten verbraucht. Weitere Informationen zu dieser Eigenschaft finden Sie in der Kafka 0.8.1-Dokumentation unter 3.2 Consumer Config .

Zu Ihrer Information: Es gibt eine Frage Wie kann ich den Versatz im Verbraucher zurückspulen? in Kafka FAQ, aber es hat mir nicht viel geholfen.

    
Heejin 25.03.2015, 06:29
quelle
15

Ab Version 0.9.0 wird Kafka mit einer Reihe von Tools in der /bin ausgeliefert, von denen einer das Tool kafka-consumer-groups.sh ist. Dies löscht eine Verbrauchergruppe. ./kafka-consumer-groups.sh --zookeeper <zookeeper_url> --delete --group <group-name>

    
eodgooch 05.07.2016 16:53
quelle
11

Für neue Konsumenten (die ein kafka-Thema verwenden, um Offsets anstatt des Tierpflegers zu verwalten) können Sie die Gruppeninformationen nicht mit den eingebauten Tools von kafka löschen.

Hier ist ein Beispiel, in dem versucht wird, die Gruppeninformationen für einen neuen Stilkonsumenten mithilfe des Skripts kafka-consumer-groups.sh zu löschen:

%Vor%

Hier ist der wichtige Teil dieser Antwort:

  

Beachten Sie, dass Gruppen-Metadaten für den neuen Consumer nicht gelöscht werden müssen, da die Gruppe gelöscht wird, wenn der letzte festgeschriebene Offset für diese Gruppe abläuft.

Das ist aus der Überwachungsperspektive ziemlich nervig (vor allem, wenn man Offsets über etwas wie burrow verfolgt), denn das bedeutet, wenn Wenn Sie die Namen der Benutzergruppen in Ihrem Code ändern, werden Sie feststellen, dass alte Gruppen auf ihren Offsets zurückbleiben, bis diese Offsets ablaufen.

Hypothetisch könnte man manuell ein Tombstone zu diesem Thema schreiben (was während offset expiration ) aber ich habe keine Werkzeuge gefunden, die das einfach machen.

    
turtlemonvh 27.04.2017 19:23
quelle