Ich verwende Confluent 3.2 in einer Reihe von Docker-Containern, von denen einer einen kafka-connect Worker ausführt.Kafka Sink Connector: Keine Aufgaben zugewiesen, auch nach Neustart
Aus Gründen, die noch unklar für mich, zwei meiner vier Anschlüsse - um genau zu sein, HPGraphsl MongoDB sink connector - funktioniert nicht mehr. Ich war in der Lage, das Hauptproblem zu identifizieren: Den Konnektoren waren keine Aufgaben zugewiesen, wie durch Aufruf von GET /connectors/{my_connector}/status
ersichtlich war. Die anderen zwei Anschlüsse (des gleichen Typs) waren nicht betroffen und erzeugten glücklich die Ausgabe.
Ich habe versucht, drei verschiedene Methoden meine Anschlüsse bekommen wieder über die REST-API ausgeführt wird:
- Pausieren und Fortsetzen der Anschlüsse
- der Anschlüsse
- löschen Neustarten und die Erstellung der Stecker unter dem gleichen Namen mit derselben Konfiguration
Keine der Methoden funktioniert. Ich habe endlich meine Anschlüsse funktioniert wieder durch:
- Löschen und den Stecker unter einem anderen Namen zu schaffen, sagen
my_connector_v2
stattmy_connector
Was ist hier los? Warum kann ich meinen vorhandenen Connector nicht neu starten und veranlassen, dass er eine tatsächliche Task startet? Gibt es veraltete Daten zum kafka-connect worker oder zu einem kafka-connect-verwandten Thema auf den Kafka-Brokern, die bereinigt werden müssen?
Ich habe filed an issue auf dem Github Repo des spezifischen Verbindungsstücks, aber ich fühle mich wie dies könnte eigentlich allgemeine Fehler im Zusammenhang mit den intrinsics von kafka-connect sein. Irgendwelche Ideen?
Dies würde an den Anschluss-Plugin spezifisch sein. Die Aufgabenzuweisung liegt in der Verantwortung der Konnektorimplementierung, so dass die Bedingungen für das Starten einer Aufgabe wahrscheinlich nicht erfüllt sind. – dawsaw
Woher nehmen Sie diese Informationen? Ich sehe keine Aufgabenzuweisungslogik in der Connector-Implementierung, die ich verwende: https://github.com/hpgrahsl/kafka-connect-mongodb/blob/master/src/main/java/at/grahsl/kafka/connect /mongodb/MongoDbSinkConnector.java Der Connector erstellt einfach #tasks Kopien der Konfiguration, ohne irgendwelche Aufgaben instanziieren. Also muss in den Kafka Connect Runtime-Klassen eine Task-Start-Logik vorhanden sein, oder? – pederpansen