Conexión a OCI Streams con Apache Kafka

Descubra cómo crear una conexión a OCI Streaming con Apache Kafka para utilizar un origen o destino de GoldenGate de OCI.

Antes de empezar

Antes de crear la conexión, asegúrese de lo siguiente:
  • Revise cómo se conecta OCI GoldenGate a su origen y destinos.

  • Configure las políticas necesarias para permitir el acceso seguro a Vault y Secrets, como el uso de secretos, el uso de almacenes y la lectura de paquetes secretos. Para obtener más información, consulte Políticas mínimas recomendadas.

  • Si utiliza TLS/mTLS, convierta el almacén de confianza o el almacén de confianza de JKS y el almacén de claves al formato PKCS12 para utilizarlo en la conexión.
    1. Utilice la utilidad keytool en el JDK para convertir al formato PKCS12.

      Para el almacén de claves, la utilidad keytool le solicita una contraseña, como se muestra en el siguiente ejemplo:
      keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
      Para el almacén de confianza, la utilidad keytool solicita una contraseña, como se muestra en el siguiente ejemplo:
      keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
    2. Después de convertir el almacén de claves y el almacén de confianza, agregue las siguientes líneas al archivo de propiedades del productor de Kafka y, a continuación, guarde los cambios:
      ssl.truststore.type=PKCS12
      ssl.keystore.type=PKCS12
    3. Cargue el archivo en las propiedades del productor de la conexión en la sección Configuración de Opciones avanzadas.

Crear la conexión de OCI Streaming con Apache Kafka de origen

Para crear la conexión de OCI Streaming con Apache Kafka de origen:
  1. En la página Visión general de OCI GoldenGate, haga clic en Conexiones.
    También puede hacer clic en Crear conexión en la sección Introducción y saltar al paso 3.
  2. En la página Conexiones, haga clic en Crear conexión.
  3. En la página Crear conexión, complete los campos como se indica a continuación:
    1. En Nombre, introduzca un nombre para la conexión.
    2. (Opcional) En Descripción, introduzca una descripción que le ayude a distinguir esta conexión de otras.
    3. (Solo en GoldenGate en multinube) Seleccione su suscripción y, a continuación, complete los siguientes campos.
      1. En la lista desplegable Compartimento, seleccione el compartimento en el que reside el anclaje de recursos.
      2. Seleccione la región de socios multinube.
      3. Seleccione su zona de disponibilidad de partners. Las opciones disponibles se rellenan en función de la región de socio multinube seleccionada.
    4. En Compartimento, seleccione el compartimento en que desea crear la conexión.
    5. En Tipo, seleccione OCI Streaming con Apache Kafka en la lista desplegable.
    6. En Servidores de inicialización de datos:
      1. Introduzca el número de Host y Puerto del servidor de inicialización de datos. Introduzca la IP privada solo si el nombre del host no se puede resolver desde su subred o si utiliza SSL/TLS.

        Note:

        Si introduce una IP privada, OCI GoldenGate reescribe la IP privada con el formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Sugerencia:

        Todos los nodos del cluster deben tener FQDN para permitir el recorrido a través de puntos finales privados.
      2. (Opcional) Haga clic en + Servidor de inicialización de datos para agregar otro servidor de inicialización de datos.
    7. Para el protocolo de seguridad, seleccione una de las siguientes opciones:
      • texto sin formato
      • SASL en texto sin formato
      • SASL en SSL
      • SSL

      Para obtener más información sobre estas opciones, consulte Gestión de la seguridad del cluster.

  4. Amplíe Mostrar opciones avanzadas. Puede configurar las siguientes opciones:
    • Seguridad
      • Anule la selección de Usar secretos de almacén que prefiera no utilizar secretos de contraseña para esta conexión. Si no está seleccionado:
        • Seleccione Usar clave de cifrado gestionada por Oracle para dejar toda la gestión de claves de cifrado en Oracle.
        • Seleccione Usar clave de cifrado gestionada por el cliente para seleccionar una clave de cifrado específica almacenada en OCI Vault para cifrar las credenciales de conexión.
    • Conectividad de Red
      • Punto final compartido, para compartir un punto final con el despliegue asignado. Debe permitir la conectividad desde la IP de entrada del despliegue.
      • Punto final dedicado, para el tráfico de red a través de un punto final dedicado en la subred asignada de la VCN. Debe permitir la conectividad desde las IP de entrada de esta conexión.

        Note:

        • Si una conexión dedicada permanece sin asignar durante siete días, el servicio la convierte en una conexión compartida.
        • Obtenga más información sobre la conectividad de Oracle GoldenGate.
    • Configuración
      • Si utiliza esta conexión para Extract, arrastre y suelte o seleccione el archivo Consumidor o Propiedades del productor (.properties).
      • Para capturar desde Kafka, cree un archivo de propiedades de consumidor de Kafka (.properties) con uno de los siguientes deserializadores o convertidores:
        • Propiedades de consumidor de Kafka para el deserializador JSON:
          key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
          value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
        • Propiedades de consumidor de Kafka para el conversor de JSON:
          key.converter=org.apache.kafka.connect.json.JsonConverter
          value.converter=org.apache.kafka.connect.json.JsonConverter
        • Kafka Propiedades de consumo para convertidor Avro:
          key.converter=io.confluent.connect.avro.AvroConverter
          value.converter=io.confluent.connect.avro.AvroConverter
    • Atributos de seguridad: agregue atributos de seguridad para controlar el acceso a esta conexión mediante Enrutamiento de paquetes de confianza cero (ZPR).
    • Etiquetas: agregue etiquetas para organizar los recursos.
  5. Haga clic en Create.

Una vez creada la conexión, esta aparecerá en la lista Conexiones. Asegúrese de asignar la conexión a un despliegue para utilizarla como origen o destino en una replicación.

Crear la conexión de destino de OCI Streaming con Apache Kafka

Para crear la conexión de destino de OCI Streaming con Apache Kafka:
  1. En la página Visión general de OCI GoldenGate, haga clic en Conexiones.
    También puede hacer clic en Crear conexión en la sección Introducción y saltar al paso 3.
  2. En la página Conexiones, haga clic en Crear conexión.
  3. En la página Crear conexión, complete los campos como se indica a continuación:
    1. En Nombre, introduzca un nombre para la conexión.
    2. (Opcional) En Descripción, introduzca una descripción que le ayude a distinguir esta conexión de otras.
    3. (Solo en GoldenGate en multinube) Seleccione su suscripción y, a continuación, complete los siguientes campos.
      1. En la lista desplegable Compartimento, seleccione el compartimento en el que reside el anclaje de recursos.
      2. Seleccione la región de socios multinube.
      3. Seleccione su zona de disponibilidad de partners. Las opciones disponibles se rellenan en función de la región de socio multinube seleccionada.
    4. En Compartimento, seleccione el compartimento en que desea crear la conexión.
    5. En Tipo, seleccione OCI Streaming con Apache Kafka en la lista desplegable.
    6. En Servidores de inicialización de datos:
      1. Introduzca el número de Host y Puerto del servidor de inicialización de datos. Introduzca la IP privada solo si el nombre del host no se puede resolver desde su subred o si utiliza SSL/TLS.

        Note:

        Si introduce una IP privada, OCI GoldenGate reescribe la IP privada con el formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Sugerencia:

        Todos los nodos del cluster deben tener FQDN para permitir el recorrido a través de puntos finales privados.
      2. (Opcional) Haga clic en + Servidor de inicialización de datos para agregar otro servidor de inicialización de datos.
    7. Para el protocolo de seguridad, seleccione una de las siguientes opciones:
      • texto sin formato
      • SASL en texto sin formato
      • SASL en SSL
      • SSL

      Para obtener más información sobre estas opciones, consulte Gestión de la seguridad del cluster.

  4. Amplíe Mostrar opciones avanzadas. Puede configurar las siguientes opciones:
    • Seguridad
      • Anule la selección de Usar secretos de almacén que prefiera no utilizar secretos de contraseña para esta conexión. Si no está seleccionado:
        • Seleccione Usar clave de cifrado gestionada por Oracle para dejar toda la gestión de claves de cifrado en Oracle.
        • Seleccione Usar clave de cifrado gestionada por el cliente para seleccionar una clave de cifrado específica almacenada en OCI Vault para cifrar las credenciales de conexión.
    • Conectividad de Red
      • Punto final compartido, para compartir un punto final con el despliegue asignado. Debe permitir la conectividad desde la IP de entrada del despliegue.
      • Punto final dedicado, para el tráfico de red a través de un punto final dedicado en la subred asignada de la VCN. Debe permitir la conectividad desde las IP de entrada de esta conexión.

        Note:

        • Si una conexión dedicada permanece sin asignar durante siete días, el servicio la convierte en una conexión compartida.
        • Obtenga más información sobre la conectividad de Oracle GoldenGate.
    • Configuración: para utilizar la compresión Snappy en la replicación de Kafka, arrastre y suelte o seleccione Propiedades del productor, y cambie la configuración de replicación como se describe en Uso de la replicación de Kafka de Compression OCI GoldenGate (Confluent).
    • Atributos de seguridad: agregue atributos de seguridad para controlar el acceso a esta conexión mediante Enrutamiento de paquetes de confianza cero (ZPR).
    • Etiquetas: agregue etiquetas para organizar los recursos.
  5. Haga clic en Create.

Una vez creada la conexión, esta aparecerá en la lista Conexiones. Asegúrese de asignar la conexión a un despliegue para utilizarla como origen o destino en una replicación.

Solucionar errores de conexión de Kafka

La mayoría de los problemas de conexión generan errores TimeoutException. Por ejemplo:

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.

Si encuentra este mensaje en el archivo de informe de Replicat, puede:

  • Asegúrese de que el tema de destino está presente o compruebe que la creación automática de temas está activada en la configuración de Kafka de destino.
  • Asegúrese de que no haya reglas de firewall que bloqueen el tráfico.
  • Si está ejecutando Kafka en OCI con un punto final privado, asegúrese de utilizar el FQDN interno como servidor de inicialización de datos en server.properties y en la conexión de Kafka.
  • Si se conecta a una nube confluente con puntos finales privados:
    • Asegúrese de que las zonas de DNS y los registros de DNS estén configurados correctamente tanto en OCI como en la nube de terceros de destino.
    • Asegúrese de que la conexión de red entre OCI y la nube de destino funciona bien.
    • Pruebe que puede conectarse a la nube confluente de destino con OpenSSL (openssl s_client -connect <bootstrap>) desde una máquina virtual de OCI que se ejecute en la misma subred conectada a la nube de terceros.
    • Compruebe que puede publicar o consumir mensajes de un cliente de Kafka que se ejecuta en OCI en la misma subred conectada a la nube de terceros. Si falla, compruebe la configuración de red tanto en OCI como en la nube de terceros.