Resolver problemas de um conector do MirrorMaker 2.0

Este documento fornece orientações para resolver problemas comuns encontrados ao usar um conector do MirrorMaker 2.0.

Erros comuns do MirrorMaker 2.0

Esta seção lista erros comuns que podem aparecer ao usar um conector do MirrorMaker 2.0.

Tempo limite atingido ao aguardar uma atribuição de nó

Se o cluster do Connect não conseguir acessar o cluster do Kafka, você vai receber o seguinte erro:

Timed out waiting for a node assignment.

As causas desse erro incluem:

  • O cluster do Connect não pode fazer a autenticação com o cluster do Kafka. Verifique os parâmetros de autenticação na configuração do conector. Para mais informações, consulte Criar um conector do MirrorMaker 2.0.

  • Um problema de rede impede que o cluster do Connect alcance o cluster do Kafka. Siga as etapas em Resolver problemas de rede.

Falha na resolução de DNS

Se o cluster do Connect não conseguir resolver o endereço de bootstrap, você vai receber o seguinte erro:

No resolvable bootstrap urls given in bootstrap.servers

Você também pode receber um erro semelhante a este:

Couldn't resolve server BOOTSTRAP_ADDRESS from bootstrap.servers as DNS resolution failed for BOOTSTRAP_ADDRESS

Para resolver esse problema, primeiro verifique se o endereço de bootstrap está correto. Se for, siga as etapas em Resolver problemas de resolução de nomes de domínio.

Credenciais inválidas

Se o cluster do Connect não puder se autenticar com um dos clusters do Kafka, você receberá um erro semelhante a este:

org.apache.kafka.clients.NetworkClient processDisconnection
SEVERE: [AdminClient clientId=source->target|mm2|offset-syncs-source-admin] Connection to
node 11 (broker-1.BOOTSTRAP_ADDRESS/IP_ADDRESS:9092) failed authentication due to: Authentication
failed during authentication due to invalid credentials with SASL mechanism OAUTHBEARER

As possíveis causas desse erro incluem:

  • A conta de serviço do Managed Kafka para um ou ambos os clusters não tem o papel de agente de serviço do Managed Kafka.

    Para cada cluster do Serviço Gerenciado para Apache Kafka, conceda o papel do IAM de Agente de serviço do Kafka gerenciado à conta de serviço do Kafka gerenciado do projeto do cluster. Para mais informações, consulte Configurar a rede do Serviço gerenciado para Apache Kafka.

  • Falha na autenticação em um cluster autogerenciado ou externo.

    Para clusters do Kafka autogerenciados ou externos, verifique se as propriedades de autenticação estão corretas para o cluster. Os detalhes dependem da configuração do cluster. Para mais informações, consulte Criar um conector do MirrorMaker 2.

  • Os clusters não estão no mesmo perímetro do VPC Service Controls.

    Se você estiver usando o VPC Service Controls para isolar seus clusters do Kafka, verifique se eles estão dentro do mesmo perímetro. Para mais informações, consulte Visão geral do VPC Service Controls.

A operação é negada à principal

Se você criar uma lista de controle de acesso (ACL) do Apache Kafka e ela não conceder permissões de leitura e gravação à conta de serviço do Managed Kafka, vai aparecer um erro semelhante a este:

Principal = User:SERVICE_ACCOUNT is Denied operation = OPERATION from host = HOST
on resource = Topic:LITERAL:TOPIC for request = TOPIC with resourceRefCount = 1 based on rule DefaultDeny

Por padrão, os clusters do Serviço gerenciado para Apache Kafka operam com allow.everyone.if.no.acl.found definido como true, o que dá à conta de serviço do Kafka gerenciado acesso de leitura e gravação aos recursos do cluster.

No entanto, se você definir ACLs, elas precisarão conceder permissões de leitura e gravação à conta de serviço. Caso contrário, o cluster do Connect perde as permissões de leitura e gravação em todos os tópicos e a permissão de leitura em todos os grupos de consumidores.

Para resolver esse problema, adicione entradas de ACL que concedam as permissões necessárias à conta de serviço do Managed Kafka. Para fazer isso, siga as etapas em Adicionar uma entrada de ACL a uma ACL do Kafka gerenciado.

  • O principal é User:service-PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com. Substitua PROJECT_NUMBER pelo número do projeto Google Cloud .

  • Conceda acesso de leitura e gravação a tópicos específicos e acesso de leitura a grupos de consumidores específicos. Para informações sobre como especificar recursos para uma ACL, consulte ID da ACL.

As mensagens não são duplicadas

Para resolver esse problema, verifique a configuração do conector. Se você estiver usando o cluster principal do Kafka como cluster de origem, defina producer.override.bootstrap.servers como o endereço de bootstrap do cluster de destino.

Resolver problemas de rede

Se você tiver problemas de rede ao usar um conector do MirrorMaker 2.0, siga estas etapas de solução de problemas.

  • Ao se conectar a um cluster do Serviço gerenciado para Apache Kafka:

    1. Procure a sub-rede de trabalho do cluster do Connect e encontre a rede VPC da sub-rede.

    2. Confira a configuração do cluster principal do Kafka e encontre a lista de sub-redes. Pelo menos uma sub-rede precisa estar na mesma rede VPC que a sub-rede do cluster do Connect.

    3. Repita a etapa anterior para o cluster secundário do Kafka.

    4. Verifique se as regras de firewall permitem que a interface do Private Service Connect alcance os clusters de Kafka de origem e de destino.

  • Ao se conectar a um cluster do Kafka externo ou autogerenciado:

    1. Procure a sub-rede de trabalho do cluster do Connect e encontre a rede VPC da sub-rede.

    2. Verifique se o cluster do Kafka pode ser acessado na rede VPC. Por exemplo, é possível implantar o cluster do Kafka na mesma rede VPC ou torná-lo acessível pela rede VPC usando a VPC compartilhada ou as zonas de DNS.

    1 Se o cluster Kafka de origem ou de destino for acessado pela Internet, configure um Cloud NAT para permitir que os workers do cluster do Connect acessem a Internet.

Para mais informações sobre redes no Serviço gerenciado para Apache Kafka, consulte Serviço gerenciado para Apache Kafka.

Resolver problemas de resolução de nomes de domínio

Se você tiver problemas com a resolução de nomes de domínio ao usar um conector do MirrorMaker 2.0, siga estas etapas de solução de problemas:

  1. Procure a sub-rede de trabalho do cluster do Connect e encontre a rede VPC da sub-rede.

  2. No console do Google Cloud , acesse a página Zonas do Cloud DNS.

    Acessar "Zonas do DNS"

  3. Selecione o projeto Google Cloud que contém a rede VPC.

  4. Clique em Zonas e verifique se o nome de domínio aparece na lista de zonas DNS.

  5. Confira a configuração do cluster do Connect e encontre a lista de domínios DNS resolvidos. Se o nome de domínio não estiver listado, atualize o cluster do Connect para adicionar o domínio DNS. Consulte Atualizar um cluster do Connect.

A seguir