Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Solução de problemas para o cluster do Amazon MSK

Modo de foco
Solução de problemas para o cluster do Amazon MSK - Amazon Managed Streaming for Apache Kafka

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As informações a seguir podem ajudar você a solucionar problemas que possam surgir com seu cluster do Amazon MSK. Você também pode publicar seu problema no AWS re:Post. Para a solução de problemas do Replicador do Amazon MSK, consulte Solucionar problemas do Replicador do MSK.

A substituição do volume causa a saturação do disco devido à sobrecarga de replicação

Durante uma falha de hardware de volume não planejada, o Amazon MSK pode substituir o volume por uma nova instância. O Kafka preenche novamente o novo volume replicando partições de outros agentes no cluster. Depois que as partições são replicadas e recuperadas, elas se qualificam para associação de liderança e réplica em sincronia (ISR).

Problema

Em um agente se recuperando da substituição de volume, algumas partições de tamanhos variados podem voltar a ficar on-line antes de outras. Isso pode ser problemático, pois essas partições podem estar fornecendo tráfego do mesmo agente que ainda está recuperando (replicando) outras partições. Às vezes, esse tráfego de replicação pode saturar os limites de throughput do volume subjacente, que são de 250 MiB por segundo no caso padrão. Quando essa saturação ocorre, todas as partições que já estão atualizadas serão afetadas, resultando em latência em todo o cluster para qualquer agente que compartilhe a ISR com essas partições atualizadas (não apenas partições líderes devido a acks remotos acks=all). Esse problema é mais comum em clusters maiores que têm um número maior de partições que variam em tamanho.

Recomendação

Grupo de consumidores preso no estado PreparingRebalance

Se um ou mais de seus grupos de consumidores estiverem presos em um estado perpétuo de rebalanceamento, a causa disso pode ser o problema KAFKA-9752 do Apache Kafka, que afeta as versões 2.3.1 e 2.4.1 do Apache Kafka.

Para solucionar esse problema, recomendamos que você atualize seu cluster para a versão Correção de bugs do Amazon MSK versão 2.4.1.1, que contém uma correção para esse problema. Para obter informações sobre a atualização de um cluster existente para a versão 2.4.1.1 de correção de bugs do Amazon MSK, consulte Atualizar a versão do Apache Kafka.

As soluções alternativas para resolver esse problema sem atualizar o cluster para a versão 2.4.1.1 de correção de bugs do Amazon MSK são definir os clientes do Kafka para usar Protocolo de associação estática ou Identificar e reiniciar o nó do agente de coordenação do grupo de consumidores que está preso.

Implementação de protocolo de associação estática

Para implementar o protocolo de associação estática em seus clientes, faça o seguinte:

  1. Defina a propriedade group.instance.id da sua configuração Consumidores do Kafka como uma string estática que identifica o consumidor no grupo.

  2. Certifique-se de que outras instâncias da configuração sejam atualizadas para usar a string estática.

  3. Implante as mudanças em seus consumidores do Kafka.

O uso do Protocolo de associação estática é mais eficaz se o tempo limite da sessão na configuração do cliente for definido para uma duração que permita ao consumidor se recuperar sem acionar prematuramente um rebalanceamento do grupo de consumidores. Por exemplo, se sua aplicação consumidora conseguir tolerar 5 minutos de indisponibilidade, um valor razoável para o tempo limite da sessão seria 4 minutos em vez do valor padrão de 10 segundos.

nota

O uso do protocolo de associação estática simplesmente reduz a probabilidade de se deparar com esse problema. Você ainda poderá se deparar com esse problema mesmo ao usar o protocolo de associação estática.

Como reinicializar o nó do agente de coordenação

Para reinicializar o nó agente de coordenação, faça o seguinte:

  1. Identifique o coordenador do grupo usando o comando kafka-consumer-groups.sh.

  2. Reinicie o coordenador do grupo de consumidores bloqueados usando a ação RebootBrokerda API.

Erro ao entregar os registros do corretor para o Amazon CloudWatch Logs

Ao tentar configurar seu cluster para enviar registros do agente para a Amazon CloudWatch Logs, você pode obter uma das duas exceções.

Se você receber uma exceção InvalidInput.LengthOfCloudWatchResourcePolicyLimitExceeded, tente novamente, mas use grupos de log que começam com /aws/vendedlogs/. Para obter mais informações, consulte Habilitar o registro em log de determinados serviços da Amazon Web Services.

Se você receber uma InvalidInput.NumberOfCloudWatchResourcePoliciesLimitExceeded exceção, escolha uma política existente do Amazon CloudWatch Logs em sua conta e acrescente o seguinte JSON a ela.

{"Sid":"AWSLogDeliveryWrite","Effect":"Allow","Principal":{"Service":"delivery.logs.amazonaws.com"},"Action":["logs:CreateLogStream","logs:PutLogEvents"],"Resource":["*"]}

Se você tentar anexar o JSON acima a uma política existente, mas receber um erro informando que você atingiu o tamanho máximo da política escolhida, tente anexar o JSON a outra de suas políticas do Amazon Logs. CloudWatch Depois de acrescentar o JSON a uma política existente, tente novamente configurar a entrega de registros do corretor para o Amazon Logs. CloudWatch

Nenhum grupo de segurança padrão

Se você tentar criar um cluster e obter um erro indicando que não há grupo de segurança padrão, talvez esteja usando uma VPC que foi compartilhada com você. Peça para o administrador conceder permissão para descrever os grupos de segurança nesta VPC e tente novamente. Para ver um exemplo de uma política que permite essa ação, consulte Amazon EC2: Permite gerenciar grupos de EC2 segurança associados a uma VPC específica, programaticamente e no console.

O cluster parece estar preso no estado CRIANDO

Às vezes a criação do cluster pode levar até 30 minutos. Aguarde 30 minutos e verifique o estado do cluster novamente.

O estado do cluster é alterado de CRIANDO para COM FALHA

Tente criar o cluster novamente.

O estado do cluster está ATIVO, mas os produtores não conseguem enviar dados ou os consumidores não conseguem receber dados

  • Se a criação do cluster tiver êxito (o estado do cluster será ACTIVE), mas não será possível enviar nem receber dados. Certifique-se de que os aplicativos produtor e consumidor tenham acesso ao cluster. Para obter mais informações, consulte as diretrizes no Etapa 3: criar uma máquina cliente.

  • Caso os produtores e os consumidores tenham acesso ao cluster, mas ainda assim enfrentem problemas ao gerar e consumir dados, a causa pode ser KAFKA-7697, que afeta o Apache Kafka versão 2.1.0 e pode levar a um deadlock em um ou mais agentes. Considere migrar para o Apache Kafka 2.2.1, que não é afetado por este bug. Para obter informações sobre como migrar, consulte Migrar para um cluster do Amazon MSK.

AWS CLI não reconhece o Amazon MSK

Se você o tiver AWS CLI instalado, mas ele não reconhecer os comandos do Amazon MSK, atualize-o AWS CLI para a versão mais recente. Para obter instruções detalhadas sobre como atualizar o AWS CLI, consulte Instalando AWS Command Line Interface o. Para obter informações sobre como usar os comandos AWS CLI para executar o Amazon MSK, consultePrincipais recursos e conceitos do Amazon MSK.

As partições ficam offline ou as réplicas estão fora de sincronia

Estes podem ser sintomas de pouco espaço em disco. Consulte O espaço em disco está acabando.

O espaço em disco está acabando

Consulte as melhores práticas para gerenciar o espaço em disco: Monitorar o espaço em disco e Ajustar os parâmetros de retenção de dados.

A memória está baixa

Caso a métrica MemoryUsed esteja alta ou a MemoryFree esteja baixa, isso não significa que existe um problema. O Apache Kafka foi desenvolvido para usar o máximo de memória possível, que é gerenciada de forma ideal.

O produtor recebe NotLeaderForPartitionException

Geralmente, isto é um erro transitório. Defina o parâmetro de configuração de retries do produtor com um valor mais alto que o atual.

Número de partições com replicação insuficiente (URP) maior que zero

A UnderReplicatedPartitions é uma métrica importante e deve ser monitorada. Em um cluster MSK íntegro, essa métrica tem o valor igual a 0. Se for maior que zero, isso pode ocorrer por um dos motivos a seguir.

  • Se UnderReplicatedPartitions estiver apresentando picos, o problema pode ser que o cluster não foi provisionado no tamanho correto para tratar o tráfego de entrada e saída. Consulte Melhores práticas para corretores padrão.

  • Se UnderReplicatedPartitions for consistentemente maior que 0, inclusive durante períodos de baixo tráfego, o problema pode ser que você tenha definido restrições ACLs que não concedem acesso ao tópico aos corretores. Para replicar partições, os agentes devem estar autorizados a READ (ler) e DESCRIBE (descrever) os tópicos. DESCRIBE é concedido por padrão com a autorização READ. Para obter informações sobre configuração ACLs, consulte Autorização e ACLs na documentação do Apache Kafka.

O cluster tem tópicos chamados __amazon_msk_canary e __amazon_msk_canary_state

Você pode ver que seu cluster do MSK tem um tópico com o nome __amazon_msk_canary e outro com o nome __amazon_msk_canary_state. Trata-se de tópicos internos que o Amazon MSK cria e usa para métricas de integridade e diagnóstico do cluster. Esses tópicos têm um tamanho insignificante e não podem ser excluídos.

Falha na replicação de partições

Certifique-se de que você não tenha definido ACLs CLUSTER_ACTIONS.

Não é possível acessar o cluster que está com o acesso público ativado

Siga as etapas abaixo se o seu cluster estiver com o acesso público ativado, mas você ainda não conseguir acessá-lo pela Internet:

  1. Certifique-se de que as regras de entrada do grupo de segurança do cluster tenham permissão para seu endereço IP e a porta do cluster. Para obter uma lista dos números de portas do cluster, consulte Informações de porta. Certifique-se também de que as regras de saída do grupo de segurança permitam comunicações de saída. Para ter mais informações sobre grupos de segurança e suas regras de entrada e saída, consulte Grupos de segurança para sua VPC no Guia do usuário da Amazon VPC.

  2. Certifique-se de que seu endereço IP e a porta do cluster tenham permissão nas regras de entrada da ACL da rede VPC do cluster. Ao contrário dos grupos de segurança, ACLs as redes não têm estado. Isso significa que você deve configurar as regras de entrada e saída. Nas regras de saída, permita que todo o tráfego (intervalo de portas: 0-65535) chegue ao seu endereço IP. Para obter mais informações, consulte Adicionar e excluir regras no Guia do usuário da Amazon VPC.

  3. Verifique se você está usando a string bootstrap-brokers de acesso público para acessar o cluster. Um cluster do MSK com acesso público ativado tem duas strings distintas de agentes de inicialização, uma para acesso público e outra para acesso interno diretamente da AWS. Para obter mais informações, consulte Obtenha os corretores de bootstrap usando o AWS Management Console.

Não é possível acessar o cluster de dentro AWS: problemas de rede

Se você tiver uma aplicação do Apache Kafka que não consiga se comunicar com êxito com um cluster do MSK, comece executando o teste de conectividade a seguir.

  1. Use qualquer um dos métodos descritos em Obter os agentes de bootstrap para um cluster do Amazon MSK para obter os endereços dos agentes de bootstrap.

  2. No comando a seguir, bootstrap-broker substitua por um dos endereços do broker que você obteve na etapa anterior. port-numberSubstitua por 9094 se o cluster estiver configurado para usar a autenticação TLS. Se o cluster não usar a autenticação TLS, port-number substitua por 9092. Execute o comando usando a máquina cliente.

    telnet bootstrap-broker port-number

    Em que o número da porta será:

    • 9094 se o cluster estiver configurado para usar a autenticação TLS.

    • 9092 se o cluster não usar a autenticação TLS.

    • Um número de porta diferente será necessário se o acesso público estiver habilitado.

    Execute o comando usando a máquina cliente.

  3. Repita o comando anterior para todos os agentes de bootstrap.

Se a máquina cliente é capaz de acessar os agentes, isso significa que não há problemas de conectividade. Nesse caso, execute o comando a seguir para verificar se o cliente do Apache Kafka está configurado corretamente. Para obterbootstrap-brokers, use qualquer um dos métodos descritos emObter os agentes de bootstrap para um cluster do Amazon MSK. topicSubstitua pelo nome do seu tópico.

<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list bootstrap-brokers --producer.config client.properties --topic topic

Se o comando anterior for bem-sucedido, isso indica que o cliente está configurado corretamente. Se você ainda não consegue produzir e consumir de um aplicativo, depure o problema no nível do aplicativo.

Se a máquina cliente não consegue acessar os agentes, consulte as subseções a seguir para obter orientações baseadas na configuração da máquina cliente.

EC2 Cliente Amazon e cluster MSK na mesma VPC

Se a máquina cliente estiver na mesma VPC que o cluster do MSK, verifique se o grupo de segurança do cluster tem uma regra de entrada que aceite tráfego do grupo de segurança da máquina cliente. Para obter informações sobre como configurar essas regras, consulte Regras do grupo de segurança. Para ver um exemplo de como acessar um cluster a partir de uma EC2 instância da Amazon que está na mesma VPC do cluster, consulte. Conceitos básicos sobre como usar o Amazon MSK

EC2 Cliente Amazon e cluster MSK em diferentes VPCs

Se a máquina cliente e o cluster estiverem em duas partes diferentes VPCs, verifique o seguinte:

  • Os dois VPCs são examinados.

  • O status da conexão de emparelhamento está ativo.

  • As tabelas de rotas dos dois VPCs estão configuradas corretamente.

Para obter informações sobre o emparelhamento de VPC, consulte Trabalhar com conexões de emparelhamento de VPC.

Cliente on-premises

No caso de um cliente local configurado para se conectar ao cluster MSK usando AWS VPN, verifique o seguinte:

  • O status da conexão VPN é UP. Para obter informações sobre como verificar o status da conexão VPN, consulte Como verificar o status atual do meu túnel VPN?.

  • A tabela de rotas da VPC do cluster contém a rota para um CIDR on-premises, cujo destino tem o formato Virtual private gateway(vgw-xxxxxxxx).

  • O grupo de segurança do cluster do MSK permite tráfego na porta 2181, na porta 9092 (se o cluster aceitar tráfego em texto simples) e na porta 9094 (se o cluster aceitar tráfego com criptografia TLS).

Para obter mais orientações sobre AWS VPN solução de problemas, consulte Solução de problemas do Client VPN.

AWS Direct Connect

Se o cliente usar AWS Direct Connect, consulte Solução de problemas AWS Direct Connect.

Se as orientações para a solução de problemas anteriores não resolverem a situação, certifique-se de que nenhum firewall esteja bloqueando o tráfego de rede. Para depuração adicional, use ferramentas como tcpdump e Wireshark para analisar o tráfego e garantir que ele esteja alcançando o cluster do MSK.

Falha na autenticação: muitas conexões

O erro Failed authentication ... Too many connects indica que um agente está se protegendo porque um ou mais clientes do IAM estão tentando se conectar a ele em um ritmo agressivo. Para ajudar os agentes a aceitarem uma taxa maior de novas conexões do IAM, você pode aumentar o parâmetro de configuração reconnect.backoff.ms.

Para saber mais sobre os limites de taxa para novas conexões por agente, consulte a página Cota do Amazon MSK.

Falha na autenticação: sessão muito curta

O Failed authentication ... Session too short erro ocorre quando seu cliente tenta se conectar a um cluster usando credenciais do IAM que estão prestes a expirar. Certifique-se de verificar como suas credenciais do IAM estão sendo atualizadas. Provavelmente, as credenciais estão sendo substituídas muito perto da expiração da sessão, o que causa problemas no servidor e falhas de autenticação.

MSK com tecnologia sem servidor: falha na criação do cluster

Se você tentar criar um cluster do MSK com a tecnologia sem servidor e o fluxo de trabalho falhar, talvez você não tenha permissão para criar um endpoint da VPC. Verifique se o administrador concedeu permissão para você criar um endpoint da VPC permitindo a ação ec2:CreateVpcEndpoint.

Para obter uma lista completa das permissões necessárias para realizar todas as ações do Amazon MSK, consulte AWS política gerenciada: Amazon MSKFull Access.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.