Estabelecer Conexão com o Apache Kafka

Aprenda a criar uma conexão com o Apache Kafka para uso como origem ou destino do OCI GoldenGate.

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 uma conexão de origem

Para criar uma conexão de origem do Apache Kafka:
  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 ir direto 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. Para Nome, digite 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. Na lista drop-down Tipo, selecione Apache Kafka.
    6. Em Bootstrap servers:
      1. Informe o Host e o número da Porta para o servidor de Inicialização. Informe o IP Privado somente se o nome do host não puder ser resolvido em sua sub-rede ou se 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 passagem por pontos finais privados.
      2. (Opcional) Clique em + Servidor de inicialização para adicionar outro servidor de inicialização.
    7. Para Protocolo de segurança, selecione uma das opções a seguir e preencha os campos correspondentes:
      • Plaintext
      • SASL sobre texto não criptografado
      • SASL sobre SSL
      • SSL
    8. 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 para a Oracle todo o gerenciamento de chaves de criptografia.
          • 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 conectividade com base no 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 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 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
          • Kafka Propriedades do consumidor para Avro conversor:
            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.
  4. Clique em Criar.
Depois que a conexão é criada, ela aparece na lista Conexões. Certifique-se de designar a conexão a uma implantação para usá-la como origem ou destino em uma replicação.

Criar a conexão de destino

Para criar uma conexão de destino do Apache Kafka:
  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 ir direto 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. Para Nome, digite 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. Na lista drop-down Tipo, selecione Apache Kafka.
    6. Em Bootstrap servers:
      1. Informe o Host e o número da Porta para o servidor de Inicialização. Informe o IP Privado somente se o nome do host não puder ser resolvido em sua sub-rede ou se 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 passagem por pontos finais privados.
      2. (Opcional) Clique em + Servidor de inicialização para adicionar outro servidor de inicialização.
    7. Para Protocolo de segurança, selecione uma das opções a seguir e preencha os campos correspondentes:
      • Plaintext
      • SASL sobre texto não criptografado
      • SASL sobre SSL
      • SSL
    8. 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 para a Oracle todo o gerenciamento de chaves de criptografia.
          • 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 conectividade com base no 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 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.
      • ConfiguraçõesPara 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.
  4. Clique em Criar.
Depois que a conexão é criada, ela aparece na lista Conexões. Certifique-se de designar 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 encontrar essa mensagem no arquivo de relatório Replicat, você 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 do Kafka.
  • Se você estiver se conectando a uma Nuvem Confluent 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 o Confluent Cloud 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 falhar, verifique suas definições de rede no OCI e na nuvem de terceiros.