Verbindung zu OCI Stream mit Apache Kafka herstellen

Hier erfahren Sie, wie eine Verbindung zu OCI Streaming with Apache Kafka erstellt wird, um eine OCI GoldenGate-Quelle oder ein OCI-Ziel zu verwenden.

Bevor Sie beginnen

Bevor Sie die Verbindung erstellen, stellen Sie sicher, dass Sie:
  • Prüfen Sie, wie OCI GoldenGate eine Verbindung zu Ihrer Quelle und Ihren Zielen herstellt.

  • Konfigurieren Sie die erforderlichen Policys, um den sicheren Vault- und Secrets-Zugriff zu aktivieren, wie Secrets verwenden, Vaults verwenden und Secret-Bundles lesen. Weitere Informationen finden Sie unter Minimale empfohlene Policys.

  • Wenn Sie TLS/mTLS verwenden, konvertieren Sie den JKS-Truststore oder Truststore und Keystore in das PKCS12-Format, das in der Verbindung verwendet werden soll.
    1. Verwenden Sie das keytool-Utility im JDK, um das Format PKCS12 zu konvertieren.

      Für den Keystore fordert Sie das keytool-Utility zur Eingabe eines Kennworts auf, wie im folgenden Beispiel dargestellt:
      keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
      Für den Truststore fordert das keytool-Utility zur Eingabe eines Kennworts auf, wie im folgenden Beispiel dargestellt:
      keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
    2. Fügen Sie nach der Konvertierung von Keystore und Truststore die folgenden Zeilen zur Eigenschaftendatei des Kafka-Producers hinzu, und speichern Sie die Änderungen:
      ssl.truststore.type=PKCS12
      ssl.keystore.type=PKCS12
    3. Laden Sie die Datei in die Producereigenschaften der Verbindung im Abschnitt Einstellungen von Erweiterte Optionen hoch.

Quellverbindung für OCI Streaming mit Apache Kafka erstellen

So erstellen Sie die OCI Streaming with Apache Kafka-Quellverbindung:
  1. Klicken Sie in der OCI GoldenGate-Seite "Überblick" auf Verbindungen.
    Sie können auch im Abschnitt "Ersten Schritte" auf Verbindung erstellen klicken und damit mit Schritt 3 fortfahren.
  2. Klicken Sie auf der Seite "Verbindungen" auf Verbindung erstellen.
  3. Füllen Sie auf der Seite "Verbindung erstellen" die Felder folgendermaßen aus:
    1. Geben Sie unter Name einen Namen für die Verbindung an.
    2. (Optional) Unter Beschreibung geben Sie eine Beschreibung ein, mit der Sie diese Verbindung von anderen unterscheiden können.
    3. (Nur für GoldenGate auf Multicloud) Wählen Sie Ihr Abonnement aus, und füllen Sie die folgenden Felder aus.
      1. Wählen Sie aus der Dropdown-Liste Compartment das Compartment aus, in dem der Ressourcenanker gespeichert ist.
      2. Wählen Sie die Multicloud-Partnerregion aus.
      3. Wählen Sie Ihre Partnerverfügbarkeitszone aus. Die verfügbaren Optionen werden basierend auf der ausgewählten Multicloud-Partnerregion aufgefüllt.
    4. Wählen Sie unter Compartment das Compartment aus, in dem die Verbindung erstellt werden soll.
    5. Wählen Sie unter Typ in der Dropdown-Liste die Option OCI Streaming mit Apache Kafka aus.
    6. Für Bootstrap-Server:
      1. Geben Sie die Host- und Portnummer für den Bootstrap-Server an. Geben Sie die private IP nur ein, wenn der Hostname aus Ihrem Subnetz nicht aufgelöst werden kann oder SSL/TLS verwendet wird.

        Hinweis:

        Wenn Sie eine private IP eingeben, schreibt OCI GoldenGate die private IP im Format ip-10-0-0-0.ociggsvc.oracle.vcn.com neu.

        Tipp:

        Alle Knoten im Cluster müssen über FQDNs verfügen, damit ein Durchlauf über private Endpunkte möglich ist.
      2. (Optional) Klicken Sie auf + Bootstrap-Server, um einen weiteren Bootstrap-Server hinzuzufügen.
    7. Wählen Sie für das Sicherheitsprotokoll eine der folgenden Optionen:
      • Einfacher Text
      • SASL über Plaintext
      • SASL über SSL
      • SSL

      Weitere Informationen zu diesen Optionen finden Sie unter Clustersicherheit verwalten.

  4. Erweitern Sie Erweiterte Optionen anzeigen. Sie können folgende Optionen konfigurieren:
    • Sicherheit
      • Heben Sie die Auswahl von Vault Secrets verwenden auf, ohne Kennwort-Secrets für diese Verbindung zu verwenden. Wenn diese Option nicht ausgewählt ist, gilt Folgendes:
        • Wählen Sie Von Oracle verwalteten Verschlüsselungsschlüssel verwenden aus, um die gesamte Verschlüsselungsschlüsselverwaltung an Oracle zu übergeben.
        • Wählen Sie Verschlüsselungsschlüssel von Kunden verwalten aus, um einen bestimmten Verschlüsselungsschlüssel auszuwählen, der in Ihrem OCI Vault gespeichert ist, um Ihre Verbindungszugangsdaten zu verschlüsseln.
    • Netzwerkverbindungen
      • Gemeinsamer Endpunkt, um einen Endpunkt für das zugewiesene Deployment freizugeben. Sie müssen die Konnektivität von der Ingress-IP des Deployments zulassen.
      • Dedizierter Endpunkt für Netzwerktraffic über einen dedizierten Endpunkt im zugewiesenen Subnetz in Ihrem VCN. Sie müssen Konnektivität von den Ingress-IPs dieser Verbindung zulassen.

        Hinweis:

        • Wenn die Zuweisung einer dedizierten Verbindung sieben Tage lang aufgehoben bleibt, konvertiert der Service sie in eine gemeinsame Verbindung.
        • Weitere Informationen zur Oracle GoldenGate-Konnektivität.
    • Einstellungen
      • Wenn Sie diese Verbindung für Extract verwenden, ziehen Sie die Datei Consumer oder Producereigenschaften per Drag-and-Drop, oder wählen Sie sie aus. (.properties).
      • Um von Kafka zu erfassen, erstellen Sie eine Kafka-Consumer-Eigenschaftendatei (.properties) mit einem der folgenden Deserializer oder Konverter:
        • Kafka-Consumer-Eigenschaften für JSON-Deserializer:
          key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
          value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
        • Kafka-Consumer-Eigenschaften für JSON-Konverter:
          key.converter=org.apache.kafka.connect.json.JsonConverter
          value.converter=org.apache.kafka.connect.json.JsonConverter
        • Kafka Verbrauchereigenschaften für Avro Konverter:
          key.converter=io.confluent.connect.avro.AvroConverter
          value.converter=io.confluent.connect.avro.AvroConverter
    • Sicherheitsattribute: Fügen Sie Sicherheitsattribute hinzu, um den Zugriff auf diese Verbindung mit Zero Trust Packet Routing (ZPR) zu kontrollieren.
    • Tags: Sie können Tags hinzufügen, um Ihre Ressourcen zu organisieren.
  5. Klicken Sie auf Create.

Nachdem die Verbindung erstellt wurde, wird sie in der Liste "Verbindungen" angezeigt. Stellen Sie sicher, dass Sie die Verbindung einem Deployment zuweisen, um sie als Quelle oder Ziel in einer Replikation zu verwenden.

Zielverbindung für OCI Streaming mit Apache Kafka erstellen

So erstellen Sie die OCI Streaming with Apache Kafka-Zielverbindung:
  1. Klicken Sie in der OCI GoldenGate-Seite "Überblick" auf Verbindungen.
    Sie können auch im Abschnitt "Ersten Schritte" auf Verbindung erstellen klicken und damit mit Schritt 3 fortfahren.
  2. Klicken Sie auf der Seite "Verbindungen" auf Verbindung erstellen.
  3. Füllen Sie auf der Seite "Verbindung erstellen" die Felder folgendermaßen aus:
    1. Geben Sie unter Name einen Namen für die Verbindung an.
    2. (Optional) Unter Beschreibung geben Sie eine Beschreibung ein, mit der Sie diese Verbindung von anderen unterscheiden können.
    3. (Nur für GoldenGate auf Multicloud) Wählen Sie Ihr Abonnement aus, und füllen Sie die folgenden Felder aus.
      1. Wählen Sie aus der Dropdown-Liste Compartment das Compartment aus, in dem der Ressourcenanker gespeichert ist.
      2. Wählen Sie die Multicloud-Partnerregion aus.
      3. Wählen Sie Ihre Partnerverfügbarkeitszone aus. Die verfügbaren Optionen werden basierend auf der ausgewählten Multicloud-Partnerregion aufgefüllt.
    4. Wählen Sie unter Compartment das Compartment aus, in dem die Verbindung erstellt werden soll.
    5. Wählen Sie unter Typ in der Dropdown-Liste die Option OCI Streaming mit Apache Kafka aus.
    6. Für Bootstrap-Server:
      1. Geben Sie die Host- und Portnummer für den Bootstrap-Server an. Geben Sie die private IP nur ein, wenn der Hostname aus Ihrem Subnetz nicht aufgelöst werden kann oder SSL/TLS verwendet wird.

        Hinweis:

        Wenn Sie eine private IP eingeben, schreibt OCI GoldenGate die private IP im Format ip-10-0-0-0.ociggsvc.oracle.vcn.com neu.

        Tipp:

        Alle Knoten im Cluster müssen über FQDNs verfügen, damit ein Durchlauf über private Endpunkte möglich ist.
      2. (Optional) Klicken Sie auf + Bootstrap-Server, um einen weiteren Bootstrap-Server hinzuzufügen.
    7. Wählen Sie für das Sicherheitsprotokoll eine der folgenden Optionen:
      • Einfacher Text
      • SASL über Plaintext
      • SASL über SSL
      • SSL

      Weitere Informationen zu diesen Optionen finden Sie unter Clustersicherheit verwalten.

  4. Erweitern Sie Erweiterte Optionen anzeigen. Sie können folgende Optionen konfigurieren:
    • Sicherheit
      • Heben Sie die Auswahl von Vault Secrets verwenden auf, ohne Kennwort-Secrets für diese Verbindung zu verwenden. Wenn diese Option nicht ausgewählt ist, gilt Folgendes:
        • Wählen Sie Von Oracle verwalteten Verschlüsselungsschlüssel verwenden aus, um die gesamte Verschlüsselungsschlüsselverwaltung an Oracle zu übergeben.
        • Wählen Sie Verschlüsselungsschlüssel von Kunden verwalten aus, um einen bestimmten Verschlüsselungsschlüssel auszuwählen, der in Ihrem OCI Vault gespeichert ist, um Ihre Verbindungszugangsdaten zu verschlüsseln.
    • Netzwerkverbindungen
      • Gemeinsamer Endpunkt, um einen Endpunkt für das zugewiesene Deployment freizugeben. Sie müssen die Konnektivität von der Ingress-IP des Deployments zulassen.
      • Dedizierter Endpunkt für Netzwerktraffic über einen dedizierten Endpunkt im zugewiesenen Subnetz in Ihrem VCN. Sie müssen Konnektivität von den Ingress-IPs dieser Verbindung zulassen.

        Hinweis:

        • Wenn die Zuweisung einer dedizierten Verbindung sieben Tage lang aufgehoben bleibt, konvertiert der Service sie in eine gemeinsame Verbindung.
        • Weitere Informationen zur Oracle GoldenGate-Konnektivität.
    • Einstellungen: Um Snappy-Komprimierung in der Kafka-Replikation zu verwenden, ziehen Sie sie per Drag-and-Drop, oder wählen Sie Producereigenschaften aus, und ändern Sie die Replikationseinstellungen, wie unter Compression OCI GoldenGate (Confluent) Kafka-Replikation verwenden beschrieben.
    • Sicherheitsattribute: Fügen Sie Sicherheitsattribute hinzu, um den Zugriff auf diese Verbindung mit Zero Trust Packet Routing (ZPR) zu kontrollieren.
    • Tags: Sie können Tags hinzufügen, um Ihre Ressourcen zu organisieren.
  5. Klicken Sie auf Create.

Nachdem die Verbindung erstellt wurde, wird sie in der Liste "Verbindungen" angezeigt. Stellen Sie sicher, dass Sie die Verbindung einem Deployment zuweisen, um sie als Quelle oder Ziel in einer Replikation zu verwenden.

Fehler bei der Kafka-Verbindung beheben

Die meisten Verbindungsprobleme führen zu Fehlern in TimeoutException. Beispiel:

A failure occurred sending a message to Kafka to topic [ggstest] org.apache.kafka.common.errors.TimeoutException: Topic ggstest not  present in metadata after 60000/120000 ms.

Wenn diese Meldung in Ihrer Replicat-Berichtsdatei angezeigt wird, können Sie:

  • Stellen Sie sicher, dass das Zielthema vorhanden ist, oder prüfen Sie, ob die automatische Themenerstellung in den Kafka-Zieleinstellungen aktiviert ist.
  • Stellen Sie sicher, dass keine Firewallregeln den Datenverkehr blockieren.
  • Wenn Sie Kafka auf OCI mit einem privaten Endpunkt ausführen, stellen Sie sicher, dass Sie den internen FQDN als Bootstrap-Server in server.properties und in der Kafka-Verbindung verwenden.
  • Wenn Sie eine Verbindung zu einer Confluent Cloud mit privaten Endpunkten herstellen:
    • Stellen Sie sicher, dass die DNS-Zonen und DNS-Datensätze sowohl in OCI als auch in der Ziel-Cloud eines Drittanbieters ordnungsgemäß konfiguriert sind.
    • Stellen Sie sicher, dass die Netzwerkverbindung zwischen OCI und der Ziel-Cloud einwandfrei funktioniert.
    • Testen Sie, dass Sie mit OpenSSL (openssl s_client -connect <bootstrap>) über eine OCI-VM, die in demselben Subnetz ausgeführt wird, das mit der Drittanbieter-Cloud verbunden ist, eine Verbindung zur Confluent-Ziel-Cloud herstellen können.
    • Testen Sie, ob Sie Nachrichten von einem Kafka-Client veröffentlichen oder konsumieren können, der auf OCI in demselben Subnetz ausgeführt wird, das mit der Drittanbieter-Cloud verbunden ist. Wenn der Fehler auftritt, prüfen Sie Ihre Netzwerkeinstellungen sowohl auf OCI als auch auf der Drittanbieter-Cloud.