Ich habe ein merkwürdiges Verhalten bei der Arbeit mit dem Confluent JDBC-Connector. Ich bin mir ziemlich sicher, dass es nicht mit Confluent Stack zusammenhängt, sondern mit Kafka-connect Framework selbst.
Also definiere ich offset.storage.file.filename
Eigenschaft als Standard /tmp/connect.offsets
und führe meinen Sink Connector aus. Offensichtlich erwarte ich, dass Connector Offsets in der angegebenen Datei behält (es existiert nicht im Dateisystem, aber es sollte automatisch erstellt werden, oder?). Dokumentation sagt:
offset.storage.file.filename
Die Datei, in der Connector-Offsets gespeichert werden. Durch das Speichern von Offsets auf der Festplatte kann ein eigenständiger Prozess auf einem einzelnen Knoten gestoppt und gestartet werden und dort fortgesetzt werden, wo er zuvor unterbrochen wurde.
Aber Kafka verhält sich ganz anders.
Ist es ein Bug oder, wahrscheinlicher, ich verstehe nicht, wie man mit diesen Konfigurationen arbeitet? Ich verstehe den Unterschied zwischen zwei Ansätzen, um Offsets beizubehalten, und der Dateispeicher ist für meine Bedürfnisse bequemer.
Die Eigenschaft offset.storage.file.filename
gilt nur für Mitarbeiter, die im eigenständigen Modus ausgeführt werden. Wenn Sie sehen, dass Kafka Offsets in einem Kafka-Thema beibehalten hat, werden Sie im verteilten Modus ausgeführt. Sie sollten Ihren Connector mit dem bereitgestellten Skript connect-standalone
starten. Es gibt eine Beschreibung der verschiedenen Modi hier . Anweisungen zum Ausführen in den verschiedenen Modi sind hier .
Tags und Links java apache-kafka apache-kafka-connect