apache-kafka-connect

___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123apachekafka ___ Apache Kafka ist eine verteilte Streaming-Plattform zur Speicherung und Verarbeitung von Datenströmen mit hohem Durchsatz. ___ qstnhdr ___ Die Task Kafka-connect sink ignoriert die Dateioffset-Speichereigenschaft ___ tag123apachekafconnect ___ Apacke Kafka Connect ist ein Tool für skalierbares und zuverlässiges Streaming von Daten zwischen Apache Kafka und anderen Datensystemen. ___ qstntxt ___

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 %code% Eigenschaft als Standard %code% 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:

  

%code%   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.

  1. Es prüft, ob die angegebene Datei existiert.
  2. Das ist es nicht, Kafka ignoriert es einfach und setzt Offsets im Kafka-Thema fort.
  3. Wenn ich die angegebene Datei manuell erstelle, schlägt das Lesen trotzdem fehl (EOFException) und Offsets werden im Thema erneut beibehalten.

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.

    
___ answer42091667 ___

Die Eigenschaft %code% 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 %code% starten. Es gibt eine Beschreibung der verschiedenen Modi hier . Anweisungen zum Ausführen in den verschiedenen Modi sind hier .

    
___
1
Antwort

Die Task Kafka-connect sink ignoriert die Dateioffset-Speichereigenschaft

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....
06.02.2017, 16:39