Estabelecer Conexão com o OCI Streamings com o Apache Kafka

Aprenda a criar uma conexão para OCI Streaming com Apache Kafka para usar uma origem ou destino GoldenGate da OCI.

Antes de começar

Antes de criar a conexão, certifique-se de:
  • Verifique como o OCI GoldenGate se conecta à sua origem e aos seus destinos.

  • Configure as políticas necessárias para permitir o acesso seguro ao Vault e aos Segredos, como usar segredos, usar vaults e ler pacotes de segredos. Para obter mais informações, consulte Políticas mínimas recomendadas.

  • Se estiver usando TLS/mTLS, converta o armazenamento confiável JKS ou o armazenamento confiável e o armazenamento de chaves para o formato PKCS12 a ser usado na conexão.
    1. Use o utilitário keytool no JDK para converter para o formato PKCS12.

      Para a área de armazenamento de chaves, o utilitário keytool solicita uma senha, conforme mostrado no seguinte exemplo:
      keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
      Para o armazenamento confiável, o utilitário keytool solicita uma senha, conforme mostrado no seguinte exemplo:
      keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
    2. Após converter a área de armazenamento de chaves e a área de armazenamento confiável, adicione as seguintes linhas ao arquivo de propriedades do produtor do Kafka e salve as alterações:
      ssl.truststore.type=PKCS12
      ssl.keystore.type=PKCS12
    3. Faça upload do arquivo para as propriedades do Produtor da conexão na seção Definições de Opções avançadas.

Criar a conexão do OCI Streaming com Apache Kafka de origem

Para criar a conexão do OCI Streaming com Apache Kafka de origem:
  1. Na página Visão Geral do OCI GoldenGate, clique em Conexões.
    Você também pode clicar em Criar Conexão na seção Conceitos básicos e pular para a etapa 3.
  2. Na página Conexões, clique em Criar Conexão.
  3. Na página Criar Conexão, preencha os campos da seguinte forma:
    1. Em Nome, informe um nome para a conexão.
    2. (Opcional) Para Descrição, informe uma descrição que ajude a distinguir essa conexão de outras.
    3. (Somente para GoldenGate em Multinuvem) Selecione sua Assinatura e preencha os campos a seguir.
      1. Na lista drop-down Compartimento, selecione o compartimento no qual reside a Âncora de Recursos.
      2. Selecione a região de parceiros multicloud.
      3. Selecione sua Zona de disponibilidade do parceiro. As opções disponíveis são preenchidas com base na região de parceiro Multinuvem selecionada.
    4. Para Compartimento, selecione o compartimento no qual a conexão será criada.
    5. Para Tipo, selecione OCI Streaming com Apache Kafka no menu suspenso.
    6. Para servidores Bootstrap:
      1. Informe o número do Host e da Porta do servidor de Bootstrap. Informe o IP Privado somente se o nome do host não puder se resolver pela sua sub-rede ou se ele usar SSL/TLS.

        Observação:

        Se você informar um IP privado, o OCI GoldenGate reescreverá o IP privado no formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Dica:

        Todos os nós do cluster devem ter FQDNs para permitir a travessia em pontos finais privados.
      2. (Opcional) Clique em + Servidor de inicialização para adicionar outro servidor de inicialização.
    7. Para o protocolo de Segurança, selecione um dos seguintes:
      • Plaintext
      • SASL sobre texto não criptografado
      • SASL sobre SSL
      • SSL

      Para obter mais informações sobre essas opções, consulte Gerenciando a segurança do cluster.

  4. Expanda Mostrar opções avançadas. Você pode configurar as seguintes opções;
    • Segurança
      • Desmarque Usar segredos do vault para que você prefira não usar segredos de senha para esta conexão. Caso não esteja selecionado:
        • Selecione Usar chave de criptografia gerenciada pela Oracle para deixar todo o gerenciamento de chaves de criptografia para a Oracle.
        • Selecione Usar chave de criptografia gerenciada pelo cliente para selecionar uma chave de criptografia específica armazenada no OCI Vault para criptografar suas credenciais de conexão.
    • Conectividade de rede
      • Ponto final compartilhado, para compartilhar um ponto final com a implantação atribuída. Você deve permitir a conectividade do IP de entrada da implantação.
      • Ponto final dedicado, para tráfego de rede por meio de um ponto final dedicado na sub-rede designada na sua VCN. Você deve permitir a conectividade dos IPs de entrada dessa conexão.

        Observação:

        • Se uma conexão dedicada permanecer não designada por sete dias, o serviço a converterá em uma conexão compartilhada.
        • Saiba mais sobre a conectividade do Oracle GoldenGate.
    • Definições
      • Se estiver usando essa conexão para Extract, arraste e solte ou selecione o arquivo Consumidor ou Propriedades do produtor (.properties).
      • Para capturar do Kafka, crie um arquivo de propriedades do Consumidor do Kafka (.properties) com um dos seguintes desserializadores ou conversores:
        • Propriedades do Consumidor Kafka para o desserializador JSON:
          key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
          value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
        • Propriedades do Consumidor Kafka para conversor JSON:
          key.converter=org.apache.kafka.connect.json.JsonConverter
          value.converter=org.apache.kafka.connect.json.JsonConverter
        • Propriedades do consumidor Kafka para conversor Avro:
          key.converter=io.confluent.connect.avro.AvroConverter
          value.converter=io.confluent.connect.avro.AvroConverter
    • Atributos de segurança: Adicione atributos de segurança para controlar o acesso a essa conexão usando o ZPR (Zero Trust Packet Routing).
    • Tags: Adicione tags para organizar seus recursos.
  5. Clique em Criar.

Depois que a conexão é criada, ela aparece na lista Conexões. Certifique-se de atribuir a conexão a uma implantação para usá-la como origem ou destino em uma replicação.

Criar a conexão do OCI Streaming com Apache Kafka de destino

Para criar a conexão do OCI Streaming com Apache Kafka de destino:
  1. Na página Visão Geral do OCI GoldenGate, clique em Conexões.
    Você também pode clicar em Criar Conexão na seção Conceitos básicos e pular para a etapa 3.
  2. Na página Conexões, clique em Criar Conexão.
  3. Na página Criar Conexão, preencha os campos da seguinte forma:
    1. Em Nome, informe um nome para a conexão.
    2. (Opcional) Para Descrição, informe uma descrição que ajude a distinguir essa conexão de outras.
    3. (Somente para GoldenGate em Multinuvem) Selecione sua Assinatura e preencha os campos a seguir.
      1. Na lista drop-down Compartimento, selecione o compartimento no qual reside a Âncora de Recursos.
      2. Selecione a região de parceiros multicloud.
      3. Selecione sua Zona de disponibilidade do parceiro. As opções disponíveis são preenchidas com base na região de parceiro Multinuvem selecionada.
    4. Para Compartimento, selecione o compartimento no qual a conexão será criada.
    5. Para Tipo, selecione OCI Streaming com Apache Kafka no menu suspenso.
    6. Para servidores Bootstrap:
      1. Informe o número do Host e da Porta do servidor de Bootstrap. Informe o IP Privado somente se o nome do host não puder se resolver pela sua sub-rede ou se ele usar SSL/TLS.

        Observação:

        Se você informar um IP privado, o OCI GoldenGate reescreverá o IP privado no formato ip-10-0-0-0.ociggsvc.oracle.vcn.com.

        Dica:

        Todos os nós do cluster devem ter FQDNs para permitir a travessia em pontos finais privados.
      2. (Opcional) Clique em + Servidor de inicialização para adicionar outro servidor de inicialização.
    7. Para o protocolo de Segurança, selecione um dos seguintes:
      • Plaintext
      • SASL sobre texto não criptografado
      • SASL sobre SSL
      • SSL

      Para obter mais informações sobre essas opções, consulte Gerenciando a segurança do cluster.

  4. Expanda Mostrar opções avançadas. Você pode configurar as seguintes opções;
    • Segurança
      • Desmarque Usar segredos do vault para que você prefira não usar segredos de senha para esta conexão. Caso não esteja selecionado:
        • Selecione Usar chave de criptografia gerenciada pela Oracle para deixar todo o gerenciamento de chaves de criptografia para a Oracle.
        • Selecione Usar chave de criptografia gerenciada pelo cliente para selecionar uma chave de criptografia específica armazenada no OCI Vault para criptografar suas credenciais de conexão.
    • Conectividade de rede
      • Ponto final compartilhado, para compartilhar um ponto final com a implantação atribuída. Você deve permitir a conectividade do IP de entrada da implantação.
      • Ponto final dedicado, para tráfego de rede por meio de um ponto final dedicado na sub-rede designada na sua VCN. Você deve permitir a conectividade dos IPs de entrada dessa conexão.

        Observação:

        • Se uma conexão dedicada permanecer não designada por sete dias, o serviço a converterá em uma conexão compartilhada.
        • Saiba mais sobre a conectividade do Oracle GoldenGate.
    • Definições: Para usar a compactação Snappy na replicação do Kafka, arraste e solte ou selecione Propriedades do produtor e altere as definições de replicação, conforme discutido em Usando a Replicação Kafka do OCI GoldenGate (Confluente) da Compactação.
    • Atributos de segurança: Adicione atributos de segurança para controlar o acesso a essa conexão usando o ZPR (Zero Trust Packet Routing).
    • Tags: Adicione tags para organizar seus recursos.
  5. Clique em Criar.

Depois que a conexão é criada, ela aparece na lista Conexões. Certifique-se de atribuir a conexão a uma implantação para usá-la como origem ou destino em uma replicação.

Solucionar problemas de erros de conexão do Kafka

A maioria dos problemas de conexão resulta em erros TimeoutException. Por exemplo:

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 você encontrar essa mensagem no arquivo de relatório do Replicat, poderá:

  • Certifique-se de que o tópico de destino esteja presente ou verifique se a criação automática de tópico está ativada nas definições do Kafka de destino.
  • Certifique-se de que não haja regras de firewall bloqueando o tráfego.
  • Se você estiver executando o Kafka no OCI com um ponto final privado, certifique-se de usar o FQDN Interno como servidor de bootstrap em server.properties e na conexão Kafka.
  • Se você estiver se conectando a uma Nuvem Confluente com pontos finais privados:
    • Certifique-se de que as zonas de DNS e os registros de DNS estejam configurados corretamente no OCI e na nuvem de terceiros de destino.
    • Certifique-se de que a conexão de rede entre o OCI e a nuvem de destino funcione bem.
    • Teste se você pode estabelecer conexão com a Nuvem Confluente de destino com OpenSSL (openssl s_client -connect <bootstrap>) de uma VM do OCI em execução na mesma sub-rede conectada à nuvem de terceiros.
    • Teste se você pode publicar ou consumir mensagens de um cliente Kafka em execução no OCI dentro da mesma sub-rede conectada à nuvem de terceiros. Se ele falhar, verifique suas definições de rede no OCI e na nuvem de terceiros.