Kafka Connect mit Event Streams verwenden
Kafka Connect ist Teil des Apache Kafka-Projekts und ermöglicht die Verbindung von externen Systemen zu Kafka. Es besteht aus einer Laufzeitumgebung, die Konnektoren zum Kopieren von Daten in und aus einem Cluster ausführen kann. Die Kafka-Komponente zeichnet sich im Wesentlichen durch folgende Merkmale aus:
- Skalierbarkeit: Eine Skalierung von einem einzelnen Worker auf viele Worker ist problemlos möglich.
- Zuverlässigkeit: Offsets und der Lebenszyklus von Connectors werden automatisch verwaltet.
- Erweiterbarkeit: Die Community erstellte Connectors für die gängigsten Systeme. IBM® verfügt über Connectors für MQ und Cloud Object Storage.
Sie können Kafka Connect with IBM® Event Streams for IBM Cloud® verwenden und die Worker innerhalb oder außerhalb von IBM Cloud®ausführen. IBM verfügt über eine umfangreiche Liste mit über 50 Connectors, die von IBM oder der Community unterstützt werden. Sie finden diese Connectors im Connectorkatalog.
Kafka Connect kann im eigenständigen oder im verteilten Modus ausgeführt werden. Der eigenständige Modus ist für Testzwecke und temporäre Verbindungen zwischen Systemen konzipiert. Der verteilte Modus ist besser für den Produktionseinsatz geeignet. Die Konfiguration, die für die Verwendung von Event Streams mit diesen beiden Modi erforderlich ist, weist geringfügige Unterschiede auf.
Konfiguration für eigenständige Worker
Der eigenständige Worker verwendet keine internen Topics. Stattdessen verwendet er eine Datei zum Speichern von Offsetinformationen.
Sie müssen die Bootstrap-Server und die SASL-Berechtigungsnachweisinformationen in der Workereigenschaftendatei angeben, die Sie beim Starten eines eigenständigen Kafka Connect-Workers angeben. Im folgenden Beispiel sind die Eigenschaften aufgeführt, die in der Eigenschaftendatei angegeben werden müssen:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Ersetzen Sie BOOTSTRAP_ENDPOINTS, USER und PASSWORD durch die Werte aus Ihrer Event Streams Registerkarte " Service Credentials" in der IBM Cloud.
Quellenconnector
Im folgenden Beispiel sind die Eigenschaften aufgeführt, die in der Eigenschaftendatei angegeben werden müssen:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
producer.security.protocol=SASL_SSL
producer.sasl.mechanism=PLAIN
producer.ssl.protocol=TLSv1.2
producer.ssl.enabled.protocols=TLSv1.2
producer.ssl.endpoint.identification.algorithm=HTTPS
Ersetzen Sie BOOTSTRAP_ENDPOINTS, USER und PASSWORD durch die Werte aus Ihrer Event Streams Registerkarte " Service Credentials" in der IBM Cloud.
Zielconnector
Im folgenden Beispiel sind die Eigenschaften aufgeführt, die in der Eigenschaftendatei angegeben werden müssen:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
consumer.security.protocol=SASL_SSL
consumer.sasl.mechanism=PLAIN
consumer.ssl.protocol=TLSv1.2
consumer.ssl.enabled.protocols=TLSv1.2
consumer.ssl.endpoint.identification.algorithm=HTTPS
Ersetzen Sie BOOTSTRAP_ENDPOINTS, USER und PASSWORD durch die Werte aus Ihrer Event Streams Registerkarte " Service Credentials" in der IBM Cloud.
Konfiguration für verteilte Worker
Sie müssen die Bootstrap-Server und die SASL-Berechtigungsnachweisinformationen in der Eigenschaftendatei angeben, die Sie beim Starten der eigenständigen Kafka Connect-Worker angeben. Im folgenden Beispiel sind die Eigenschaften aufgeführt, die in der Eigenschaftendatei angegeben werden müssen:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Ersetzen Sie BOOTSTRAP_ENDPOINTS, USER und PASSWORD durch die Werte aus Ihrer Event Streams Registerkarte " Service Credentials" in der IBM Cloud.
Wenn Sie einen Quellenconnector verwenden möchten, müssen Sie auch die SSL- und SASL-Konfiguration für den Producer wie folgt angeben:
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
producer.security.protocol=SASL_SSL
producer.sasl.mechanism=PLAIN
producer.ssl.protocol=TLSv1.2
producer.ssl.enabled.protocols=TLSv1.2
producer.ssl.endpoint.identification.algorithm=HTTPS
Wenn Sie einen Zielconnector verwenden möchten, müssen Sie auch die SSL- und SASL-Konfiguration für den Consumer wie folgt angeben:
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
consumer.security.protocol=SASL_SSL
consumer.sasl.mechanism=PLAIN
consumer.ssl.protocol=TLSv1.2
consumer.ssl.enabled.protocols=TLSv1.2
consumer.ssl.endpoint.identification.algorithm=HTTPS
Darüber hinaus verwendet Kafka Connect im verteilten Modus drei Topics intern. Diese Topics werden beim Start eines Workers automatisch erstellt, wenn Kafka Connect in Apache Kafka Version 0.11 oder höher verwendet wird. Geben Sie die Namen
der Topics als Konfigurationsparameter an. Stellen Sie sicher, dass die Werte für alle Worker, die denselben Konfigurationswert für group.id aufweisen, identisch sind.
| Konfiguration | Beschreibung |
|---|---|
offset.storage.topic |
Connector-Offsets-Topic |
offset.storage.partitions |
Anzahl der Partitionen für Connector-Offsets-Topic (Standardwert 25) |
config.storage.topic |
Connectorkonfigurationstopic |
status.storage.topic |
Connectorstatustopic |
status.storage.partitions |
Anzahl der Partitionen für Connectorstatustopic (Standardwert 5) |
Sie können beispielsweise die folgenden Schlüssel/Wert-Paare in den Eigenschaftendateien verwenden:
offset.storage.topic=connect-offsets
config.storage.topic=connect-configs
status.storage.topic=connect-status
Wenn Sie Kafka Connect nicht häufig verwenden, können Sie die Anzahl der Partitionen reduzieren.
Weitere Informationen zu Kafka Connect finden Sie unter Kafka Connect-Übersicht.