Probleme mit der Aufbewahrungszeitraum für die offset-Thema kafka

Sind wir mit einem problem konfrontiert, mit Kafka. Wir haben ein Thema mit nur einer partition und nur ein Verbraucher in einer Verbraucher-Gruppe. Der Verbraucher angehalten worden ist, für einen Monat. In der Zwischenzeit, Produzenten senden von Nachrichten an das Thema.

Wenn wir beginnen die Verbraucher wieder, es ist nicht in der Lage zu konsumieren Nachrichten. Ich gehe davon aus, dass die früher begangen offset hat verloren, so hat der Verbraucher keine Idee zu finden, die Ausgangspunkt beim Erwachen.

Wenn wir aufhören, und starten Sie den Verbraucher wieder, dann kann der Verbraucher pick-up über neue Nachrichten, aber alle die Nachricht, die gesendet wurde, hat bisher nie verbraucht.

Ist ausgeglichen wurde beschädigt? Ist die retention Zeit für die kafka-internen Thema offsets bedeuten, dass der Letzte commit offsets wurden entfernt hat?

  • Möglich, Duplikat der Wie funktioniert ein offset läuft für einen Apache Kafka Verbraucher-Gruppe?
  • hi @matthias-j-sax , vorausgesetzt, wir haben vor problem mit offset-management, was ist die beste Praxis zu pflegen, kompensiert wird, ist dies eine gute Idee zu haben-offset gepflegt außerhalb der kafka-cluster, wie RDMS, so im Falle des Verlustes ausgeglichen, wir neu starten können Verbraucher ab dem offset, die gespeichert in der DB?
  • Einfachste Sache ist zu ändern-broker-Einstellung ein offset erhöhen die Verweilzeit. Wenn du es auf INT_MAX erhalten Sie mehrere Jahre... Das sollte tun. Wenn Sie wirklich brauchen, längere Verweildauer, können Sie Sie speichern offset, wohin Sie wollen, wie eine DB zu. Aber es ist natürlich mehr code pflegen, in der Sie eigene code-Basis.
  • Ich bin abit verwirrt, als auch ich haben, stellen Sie offset.retention.Minuten bis zu 10 Minuten, ich hatte erwartet, offsets von einigen besonderen Gruppen, werden entfernt, da keine aktiven Verbraucher-Gruppe zu präsentieren, aber wenn ich monitor log gibt es keinen Versatz abgelaufen [2017-03-02 06:57:24,907] INFO [Group Metadata Manager on Broker 1]: Removed 0 expired offsets in 1 milliseconds. (kafka.coordinator.GroupMetadataManager) @MatthiasJ.Sax
  • Sicher nicht... wie lange musstest du warten? retention.Zeit ist eine garantierte untere Schranke, und es gibt keine strikte Durchsetzung löschen der offsets sofort -- es ist auch ein clenup Intervall die Sie konfigurieren können.
  • eigentlich habe ich abgebrochen, Verbraucher-Gruppe für 12 Stunden. und starten den Hersteller zu senden, einen anderen Satz von Nachrichten, dann startet der Gruppe der Verbraucher wieder. Überraschend, dass die Verbraucher noch in der Lage ist Verbraucher der Nachrichten. Ich hatte erwartet, der Verbraucher ist, nur in der Lage, um Nachrichten, die gesendet werden, nachdem der Verbraucher gruop begann, wie die Letzte übergebene offset abgelaufen ist und entfernt nach 12 Stunden. @MatthiasJ.Sax
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor Joey Trang | 2017-03-02
Schreibe einen Kommentar