Connettersi a Streaming OCI con Apache Kafka

Impara a creare una connessione a OCI Streaming con Apache Kafka per utilizzare un'origine o una destinazione OCI GoldenGate.

Prima di iniziare

Prima di creare la connessione, assicurarsi di:
  • Rivedere il modo in cui OCI GoldenGate si connette all'origine e alle destinazioni.

  • Configurare i criteri necessari per abilitare l'accesso sicuro a vault e segreti, ad esempio l'uso di segreti, l'uso di vault e la lettura di bundle di segreti. Per ulteriori informazioni, vedere Criteri consigliati minimi.

  • Se si utilizza TLS/mTLS, convertire il truststore o il truststore e il keystore JKS in formato PKCS12 da utilizzare nella connessione.
    1. Utilizzare la utility keytool nel JDK per eseguire la conversione nel formato PKCS12.

      Per il keystore, la utility Keytool richiede una password, come mostrato nell'esempio riportato di seguito.
      keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
      Per il truststore, la utility keytool richiede una password, come mostrato nell'esempio riportato di seguito.
      keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
    2. Dopo aver convertito il keystore e il truststore, aggiungere le righe seguenti al file delle proprietà del producer Kafka, quindi salvare le modifiche:
      ssl.truststore.type=PKCS12
      ssl.keystore.type=PKCS12
    3. Caricare il file nelle proprietà del producer della connessione nella sezione Impostazioni di Opzioni avanzate.

Creare la connessione OCI Streaming con Apache Kafka di origine

Per creare la connessione OCI Streaming con Apache Kafka di origine, effettuare le operazioni riportate di seguito.
  1. Nella pagina Panoramica di OCI GoldenGate, fare clic su Connessioni.
    È inoltre possibile fare clic su Crea connessione nella sezione Introduzione e passare al passo 3.
  2. Nella pagina Connessioni fare clic su Crea connessione.
  3. Nella pagina Crea connessione, completare i campi come indicato di seguito.
    1. Per Nome, immettere un nome per la connessione.
    2. (Facoltativo) In Descrizione, immettere una descrizione che consenta di distinguere questa connessione da altre.
    3. (Solo per GoldenGate nel multicloud) Selezionare la propria sottoscrizione, quindi completare i campi seguenti.
      1. Nell'elenco a discesa Compartimento selezionare il compartimento in cui risiede l'ancora risorsa.
      2. Selezionare l'area partner multicloud.
      3. Seleziona la tua zona di disponibilità dei partner. Le opzioni disponibili vengono popolate in base all'area partner multicloud selezionata.
    4. Per Compartimento, selezionare il compartimento in cui creare la connessione.
    5. Per Tipo, selezionare OCI Streaming con Apache Kafka dall'elenco a discesa.
    6. Per i server Bootstrap:
      1. Immettere il numero di host e di porta per il server Bootstrap. Immettere l'IP privato solo se il nome host non è risolvibile dalla subnet o se utilizza SSL/TLS.

        Nota

        Se si immette un IP privato, OCI GoldenGate riscrive l'IP privato nel formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Suggerimento

        Tutti i nodi nel cluster devono avere FQDN per consentire l'attraversamento su endpoint privati.
      2. (Opzionale) Fare clic su + server bootstrap per aggiungere un altro server bootstrap.
    7. Per il protocollo Security selezionare una delle opzioni riportate di seguito.
      • Testo non codificato
      • SASL su testo non codificato
      • SASL su SSL
      • SSL

      Per ulteriori informazioni su queste opzioni, vedere Gestione della sicurezza dei cluster.

  4. Espandere l'area Mostra opzioni avanzate È possibile configurare le opzioni riportate di seguito.
    • Sicurezza
      • Deselezionare Usa segreti vault per non utilizzare segreti password per questa connessione. Se l'opzione non viene selezionata:
        • Selezionare Usa chiave di cifratura gestita da Oracle per lasciare a Oracle tutta la gestione delle chiavi di cifratura.
        • Selezionare Usa chiave di cifratura gestita dal cliente per selezionare una chiave di cifratura specifica memorizzata nel vault OCI per cifrare le credenziali di connessione.
    • Connettività di rete
      • Endpoint condiviso per condividere un endpoint con la distribuzione assegnata. È necessario consentire la connettività dall'IP in entrata della distribuzione.
      • Endpoint dedicato, per il traffico di rete attraverso un endpoint dedicato nella subnet assegnata nella tua VCN. È necessario consentire la connettività dagli IP in entrata di questa connessione.

        Nota

        • Se un collegamento dedicato rimane non assegnato per sette giorni, il servizio lo converte in una connessione condivisa.
        • Ulteriori informazioni sulla connettività di Oracle GoldenGate.
    • Impostazioni
      • Se si utilizza questa connessione per Extract, trascinare o selezionare il file delle proprietà Consumer o Producer (.properties).
      • Per acquisire da Kafka, creare un file delle proprietà del consumer Kafka (.properties) con uno dei deserializzatori o convertitori seguenti:
        • Proprietà consumer Kafka per JSON deserializer:
          key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
          value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
        • Proprietà consumer Kafka per il convertitore JSON:
          key.converter=org.apache.kafka.connect.json.JsonConverter
          value.converter=org.apache.kafka.connect.json.JsonConverter
        • Proprietà consumatore Kafka per convertitore Avro:
          key.converter=io.confluent.connect.avro.AvroConverter
          value.converter=io.confluent.connect.avro.AvroConverter
    • Attributi di sicurezza: aggiungere attributi di sicurezza per controllare l'accesso a questa connessione utilizzando Zero Trust Packet Routing (ZPR).
    • Tag: Aggiunge tag per organizzare le risorse.
  5. Fare clic su Crea.

Una volta creata, la connessione viene visualizzata nell'elenco Connessioni. Assicurarsi di assegnare la connessione a una distribuzione per utilizzarla come origine o destinazione in una replica.

Creare la connessione OCI Streaming con Apache Kafka di destinazione

Per creare la connessione OCI Streaming con Apache Kafka di destinazione, effettuare le operazioni riportate di seguito.
  1. Nella pagina Panoramica di OCI GoldenGate, fare clic su Connessioni.
    È inoltre possibile fare clic su Crea connessione nella sezione Introduzione e passare al passo 3.
  2. Nella pagina Connessioni fare clic su Crea connessione.
  3. Nella pagina Crea connessione, completare i campi come indicato di seguito.
    1. Per Nome, immettere un nome per la connessione.
    2. (Facoltativo) In Descrizione, immettere una descrizione che consenta di distinguere questa connessione da altre.
    3. (Solo per GoldenGate nel multicloud) Selezionare la propria sottoscrizione, quindi completare i campi seguenti.
      1. Nell'elenco a discesa Compartimento selezionare il compartimento in cui risiede l'ancora risorsa.
      2. Selezionare l'area partner multicloud.
      3. Seleziona la tua zona di disponibilità dei partner. Le opzioni disponibili vengono popolate in base all'area partner multicloud selezionata.
    4. Per Compartimento, selezionare il compartimento in cui creare la connessione.
    5. Per Tipo, selezionare OCI Streaming con Apache Kafka dall'elenco a discesa.
    6. Per i server Bootstrap:
      1. Immettere il numero di host e di porta per il server Bootstrap. Immettere l'IP privato solo se il nome host non è risolvibile dalla subnet o se utilizza SSL/TLS.

        Nota

        Se si immette un IP privato, OCI GoldenGate riscrive l'IP privato nel formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Suggerimento

        Tutti i nodi nel cluster devono avere FQDN per consentire l'attraversamento su endpoint privati.
      2. (Opzionale) Fare clic su + server bootstrap per aggiungere un altro server bootstrap.
    7. Per il protocollo Security selezionare una delle opzioni riportate di seguito.
      • Testo non codificato
      • SASL su testo non codificato
      • SASL su SSL
      • SSL

      Per ulteriori informazioni su queste opzioni, vedere Gestione della sicurezza dei cluster.

  4. Espandere l'area Mostra opzioni avanzate È possibile configurare le opzioni riportate di seguito.
    • Sicurezza
      • Deselezionare Usa segreti vault per non utilizzare segreti password per questa connessione. Se l'opzione non viene selezionata:
        • Selezionare Usa chiave di cifratura gestita da Oracle per lasciare a Oracle tutta la gestione delle chiavi di cifratura.
        • Selezionare Usa chiave di cifratura gestita dal cliente per selezionare una chiave di cifratura specifica memorizzata nel vault OCI per cifrare le credenziali di connessione.
    • Connettività di rete
      • Endpoint condiviso per condividere un endpoint con la distribuzione assegnata. È necessario consentire la connettività dall'IP in entrata della distribuzione.
      • Endpoint dedicato, per il traffico di rete attraverso un endpoint dedicato nella subnet assegnata nella tua VCN. È necessario consentire la connettività dagli IP in entrata di questa connessione.

        Nota

        • Se un collegamento dedicato rimane non assegnato per sette giorni, il servizio lo converte in una connessione condivisa.
        • Ulteriori informazioni sulla connettività di Oracle GoldenGate.
    • Impostazioni: per utilizzare la compressione Snappy nella replica Kafka, trascinare la selezione o selezionare Proprietà del producer e modificare le impostazioni di replica come descritto in Utilizzo della replica Kafka di Compression OCI GoldenGate (Confluent).
    • Attributi di sicurezza: aggiungere attributi di sicurezza per controllare l'accesso a questa connessione utilizzando Zero Trust Packet Routing (ZPR).
    • Tag: Aggiunge tag per organizzare le risorse.
  5. Fare clic su Crea.

Una volta creata, la connessione viene visualizzata nell'elenco Connessioni. Assicurarsi di assegnare la connessione a una distribuzione per utilizzarla come origine o destinazione in una replica.

Risolvere gli errori di connessione Kafka

La maggior parte dei problemi di connessione genera errori TimeoutException. Ad esempio:

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.

Se incontri questo messaggio nel tuo file di report Replicat, puoi:

  • Assicurarsi che l'argomento di destinazione sia presente o verificare che la creazione automatica dell'argomento sia abilitata nelle impostazioni Kafka di destinazione.
  • Assicurarsi che non vi siano regole firewall che bloccano il traffico.
  • Se si esegue Kafka su OCI con un endpoint privato, assicurarsi di utilizzare il nome FQDN interno come server di bootstrap in server.properties e nella connessione Kafka.
  • Se ti stai connettendo a un cloud confluente con endpoint privati:
    • Assicurarsi che le zone DNS e i record DNS siano configurati correttamente sia in OCI che nel cloud di terze parti di destinazione.
    • Assicurarsi che la connessione di rete tra OCI e il cloud di destinazione funzioni correttamente.
    • Verifica che sia possibile connettersi a Confluent Cloud di destinazione con OpenSSL (openssl s_client -connect <bootstrap>) da una VM OCI in esecuzione nella stessa subnet connessa al cloud di terze parti.
    • Prova a pubblicare o utilizzare i messaggi di un client Kafka in esecuzione su OCI all'interno della stessa subnet connessa al cloud di terze parti. In caso di errore, controllare le impostazioni di rete sia in OCI che nel cloud di terze parti.