Mensagem de erro | Linguagem do cliente | Causa | Solução |
TimeoutException
| Java |
Nota Este erro afeta apenas instâncias públicas do ApsaraMQ for Kafka. | Verifique se o parâmetro servers está configurado corretamente. Execute o comando telnet para descartar problemas de rede. Se a rede estiver funcionando, verifique a configuração de autenticação nos seguintes documentos:
Nota Esta solução aplica-se apenas a instâncias públicas do ApsaraMQ for Kafka.
|
run out of brokers
| Go |
Authentication failed for user
| Python |
Leader is not available
| Todas | Esse erro pode ocorrer temporariamente durante a inicialização de um tópico. Se persistir, o tópico pode não ter sido criado. | Faça login no console do ApsaraMQ for Kafka. Verifique se o tópico foi criado. Se o tópico não existir, crie-o. Para mais informações, consulte Etapa 1: Criar um tópico.
|
leader is in election
|
array index out of bound exception
| Java | O Spring Cloud analisa o conteúdo da mensagem em formato próprio. | Use uma das seguintes soluções: Recomendado: Use o Spring Cloud para produzir e consumir mensagens. Se enviar mensagens por outros métodos, como o cliente Java nativo, defina headerMode como raw ao consumir as mensagens com o Spring Cloud. Essa configuração desativa a análise do conteúdo da mensagem. Para mais detalhes, consulte o site oficial do Spring Cloud.
|
No such configuration property: "sasl.mechanisms"
| | Os módulos SASL e SSL não estão instalados ou a instalação está incorreta. | Execute os comandos a seguir para instalar os módulos SASL e SSL:
Nota Estes comandos são para CentOS. Para outros sistemas operacionais, consulte a documentação oficial ou use um mecanismo de busca. Instale SSL: sudo yum install openssl openssl-devel Instale SASL: sudo yum install cyrus-sasl{,-plain}
|
No worthy mechs found
|
No KafkaClient Entry
| Java | Arquivo de configuração kafka_client_jaas.conf não encontrado. | Crie o arquivo kafka_client_jaas.conf e salve-o em um diretório acessível, como /home/admin. As configurações de login de segurança do Java abrangem todo o sistema e podem ser definidas das seguintes formas: Definir uma propriedade do sistema: Definir um parâmetro JVM: -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf Definir a propriedade no código: System.setProperty("java.security.auth.login.config","/home/admin/kafka_client_jaas.conf")
Nota Se definir essa propriedade no código, garanta a execução antes do início do cliente.
Modifique o arquivo de propriedades de segurança do Java: No arquivo ${JAVA_HOME}/jre/lib/java.security, adicione a seguinte linha: login.config.url.1=file:/home/admin/kafka_client_jaas.conf
Para mais informações, consulte o Arquivo de Configuração de Login JAAS da Oracle. |
Error sending fetch request
| Java | Falha ao buscar mensagens. Possíveis causas: | Verifique se o parâmetro servers está configurado corretamente. Execute o comando telnet para descartar problemas de rede. Se a rede não for o problema, a causa pode ser tempo limite de busca. Para resolver, ajuste os seguintes parâmetros para limitar os dados retornados por solicitação de busca: fetch.max.bytes: Número máximo de bytes retornados pelo servidor para uma única solicitação de busca. max.partition.fetch.bytes: Quantidade máxima de bytes que o servidor retorna para uma única partição em uma operação de busca.
Verifique se há limitação de tráfego no servidor. No console do ApsaraMQ for Kafka, acesse a página Instance Details e verifique as métricas relevantes. Para acesso via VPC, verifique o pico de tráfego. Para acesso público, verifique o Tráfego Público.
|
DisconnectException
|
CORRUPT_MESSAGE
| Todas | Mecanismo de armazenamento em nuvem: Não suporta idempotência, recurso habilitado por padrão nos clientes Kafka versão 3,0 e posteriores. Mecanismo de armazenamento local: Mensagem compactada enviada sem chave.
| Se usar o mecanismo de armazenamento em nuvem, defina enable.idempotence=false no cliente. Mecanismo de armazenamento local: Adicione uma chave à mensagem.
|
read tcp i/o timeout
| Go (ou outra) | A conexão de rede entre o consumidor e o broker atingiu o tempo limite, o offset do grupo de consumidores não foi inicializado corretamente ou ocorreu um problema de Rebalance. | Verifique a conectividade de rede entre o cliente e a instância Kafka. Verifique se a versão do cliente é anterior a 0.10.2. Em caso afirmativo, atualize o cliente. Ajuste os parâmetros max.poll.interval.ms e session.timeout.ms. Faça login no console para verificar o status do consumidor e confirmar se o acúmulo de mensagens e os offsets estão normais.
|
Connection terminated during authentication
| Todas | A autenticação foi interrompida quando um cluster ACK ou outro ambiente tentou se conectar ao Kafka Serverless. Isso geralmente ocorre devido a configuração de protocolo incorreta, permissões insuficientes ou restrições de política de rede. | Verifique se o usuário RAM está devidamente autorizado. Verifique se o endereço IP do cliente consta na lista de permissões da instância Kafka. Garanta que o cluster ACK e a instância Kafka estejam na mesma VPC. Verifique se o grupo de segurança permite tráfego na porta 9094. Confirme se a política ACL concede ao usuário SASL acesso aos tópicos e grupos de consumidores relevantes. Tente alternar endpoints ou portas para testar a conectividade e verifique se a configuração de protocolo do cliente está correta.
|
Connection to node -1 could not be established
| Todas | O cliente não consegue estabelecer conexão com o nó Kafka. Isso normalmente acontece por problemas de rede, falta de configuração da lista de permissões ou configuração incorreta de acesso à rede pública. | Verificar conectividade de rede: Confirme se a máquina cliente (como uma instância ECS) e a instância Kafka estão na mesma VPC. Caso não estejam na mesma VPC ou se você estiver usando acesso local, garanta que a rede esteja conectada. Verificar configuração da lista de permissões: Confirme se o endereço IP de saída do cliente foi adicionado à lista de permissões da instância Kafka. Execute um comando telnet para testar a conectividade com o nome de domínio do endpoint e a porta (como a porta 9092). Configure acesso à rede pública: Se precisar usar acesso à rede pública, o tipo de rede da instância deve ser Internet/VPC (instâncias VPC devem ser atualizadas para suportar acesso à Internet). É necessário usar o endpoint SSL (porta 9093). No código do cliente, configure o endpoint de rede pública e o certificado SSL, defina security.protocol como SASL_SSL e mantenha o nome de usuário e a senha inalterados.
|