Kafka Connect verwenden
Verwenden Sie Kafka Connect mit Oracle Cloud Infrastructure Streaming.
Kafka Connect-Konfigurationen verwalten enthält Schritte zur Verwendung der Konsole, der CLI und der API.
Um Ihre Kafka-Connectors mit Oracle Cloud Infrastructure Streaming zu verwenden, erstellen Sie eine Kafka Connect-Konfiguration. Die Streaming-API bezeichnet diese Konfigurationen als Prozedurläufe.
Kafka Connect-Konfigurationen funktionieren nur für Streams im selben Compartment.
Sie können mehrere Kafka-Connectors mit derselben Kafka Connect-Konfiguration verwenden. In Fällen, in denen Streams in separaten Compartments produziert oder konsumiert werden müssen oder in denen mehr Kapazität erforderlich ist, um zu vermeiden, dass Throttle-Limits in der Kafka Connect-Konfiguration (z.B. zu viele Connectors oder Connectors mit zu vielen Workern) erreicht werden, können Sie weitere Kafka Connect-Konfigurationen erstellen.
Weitere Informationen zur Verwaltung von Kafka Connect-Konfigurationen finden Sie unter Kafka Connect-Konfigurationen verwalten.
Kafka-Connectors
Die Kafka Connect-Kompatibilität in Streaming bedeutet, dass Sie die vielen vorhandenen Erst- und Drittanbieter-Connectors nutzen können, um Daten aus Quellen in Ziele zu verschieben.
Kafka-Connectors für Oracle-Produkte:
- Oracle Cloud Infrastructure Object Storage (mit Kafka Connect für S3)
- Kafka Connect Amazon S3-Quell-Connector für Producers
- Kafka Connect Amazon S3-Sink-Connector für Consumers
- Oracle Integration Cloud
- Oracle Database (mit Kafka Connect JDBC)
- Oracle GoldenGate
Eine vollständige Liste der Kafka-Quell- und -Sink-Connectors von Drittanbietern finden Sie in dem offiziellen Confluent Kafka-Hub.
Kafka Connect-Topics
Der Streaming-Service erstellt automatisch die drei Topics (config, offset und status), die zur Verwendung von Kafka Connect erforderlich sind, wenn Sie die Kafka Connect-Konfiguration erstellen. Diese Topics enthalten die OCID der Kafka Connect-Konfiguration im Namen.
Platzieren Sie diese Topic-Namen in der Datei connect-distributed.properties
des Kafka-Connectors, den Sie mit Streaming verwenden möchten.
Beispiel:
# Relevant Kafka Connect setting
config.storage.topic:<connect_configuration_OCID>-config
offset.storage.topic:<connect_configuration_OCID>-offset
status.storage.topic:<connect_configuration_OCID>-status
Diese drei kompakten Topics sollen von Kafka Connect und Streaming verwendet werden, um Konfigurations- und Statusverwaltungsdaten zu speichern. Verwenden Sie sie nicht, um Ihre Daten zu speichern. Um sicherzustellen, dass die Kafka Connect-Konfigurations-Topics von den Connectors für den beabsichtigten Zweck verwendet werden, gibt es für diese Topics feste Throttle-Grenzwerte von 50 KB/s und 50 RPS.
Bootstrap-Server
Setzen Sie den Bootstrap-Server in der Eigenschaftendatei des Kafka-Connectors auf den Endpunkt für Streaming auf Port 9092. Beispiel:
streaming.us-phoenix-1.oci.oraclecloud.com:9092
Eine Liste der Endpunkte für Streaming finden Sie im Abschnitt Streaming in API-Referenz und Endpunkte.
Authentifizierung
Bei der Authentifizierung mit dem Kafka-Protokoll werden Authentifizierungstoken und der SASL/PLAIN-Mechanismus verwendet. Sie können Token auf der Seite mit den Benutzerdetails der Konsole generieren. Weitere Informationen finden Sie unter Mit Authentifizierungstoken arbeiten.
Erstellen Sie eine dedizierte Gruppe, und erteilen Sie dieser Gruppe die Berechtigung zur Verwaltung von Streams im entsprechenden Compartment oder Mandanten. Dann können Sie ein Authentifizierungstoken für den erstellten Benutzer generieren und in der Kafka-Clientkonfiguration verwenden.
Beispiel für Kafka-Connector-Eigenschaftendatei
Im Folgenden ist ein Beispiel für die Datei connect-distributed.properties
eines Kafka-Connectors dargestellt:
bootstrap.servers=<streaming_endpoint>:9092
sasl.mechanism=PLAIN
security.protocol=SASL_PLAINTEXT
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<userid>" password="<authToken>";
producer.sasl.mechanism=PLAIN
producer.security.protocol=SASL_PLAINTEXT
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<userid>" password="<authToken>";
consumer.sasl.mechanism=PLAIN
consumer.security.protocol=SASL_PLAINTEXT
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<userid>" password="<authToken>";
config.storage.topic:<connect_configuration_OCID>-config
offset.storage.topic:<connect_configuration_OCID>-offset
status.storage.topic:<connect_configuration_OCID>-status
Erforderliche IAM-Policy
Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der von einem Mandantenadministrator Sicherheitszugriff in einer Policy erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Nachricht erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Mandantenadministrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Ihr Zugriff funktioniert.
Damit eine Gruppe Kafka Connect-Konfigurationen verwalten kann, müssen Sie die richtige Policy in Ihrem Mandanten erstellen. Beispiel:
allow group <identity_domain_name>/<group_name> KafkaAdmins to manage connect-harnesses in tenancy
Für Administratoren: Mit der unter Verwalten von Streaming-Ressourcen durch Streaming-Administratoren zulassen beschriebenen Policy kann die angegebene Gruppe alle Aktionen mit Streaming und zugehörigen Streaming-Serviceressourcen ausführen.
Wenn Sie mit Policys noch nicht vertraut sind, finden Sie weitere Informationen unter Überblick über IAM-Policys. Weitere Informationen finden Sie unter: