Todos los productos
Search
Centro de documentos

ApsaraMQ for Kafka:Solución de errores de cliente en ApsaraMQ for Kafka

Última actualización: Sep 04, 2026

Al usar ApsaraMQ for Kafka, el cliente puede reportar errores. Este tema describe los mensajes de error más comunes y sus soluciones.

Errores comunes y soluciones

Mensaje de error

Lenguaje del cliente

Causa

Solución

TimeoutException

Java

  • Problema de red

  • Error en la autenticación del cliente (sasl.mechanisms).

Nota

Este error afecta únicamente a las instancias públicas de ApsaraMQ for Kafka.

  • Asegúrese de que el parámetro servers esté configurado correctamente.

  • Ejecute el comando telnet para descartar problemas de red.

  • Si la red funciona correctamente, compruebe la configuración de autenticación en los siguientes documentos:

    Nota

    Esta solución aplica únicamente a instancias públicas de ApsaraMQ for Kafka.

run out of brokers

Go

Authentication failed for user

Python

Leader is not available

Todos

Este error puede ocurrir temporalmente mientras se inicializa un topic. Si persiste, es posible que el topic no se haya creado.

  1. Inicie sesión en la consola de ApsaraMQ for Kafka.

  2. Compruebe si el topic ya se creó.

  3. Si el topic no existe, créelo. Para obtener más información, consulte Step 1: Create a topic.

leader is in election

array index out of bound exception

Java

Spring Cloud analiza el contenido de los mensajes en su propio formato.

Use una de las siguientes soluciones:

  • Recomendado: Use Spring Cloud tanto para producir como para consumir mensajes.

  • Si envía mensajes mediante otros métodos, como llamar al cliente nativo de Java, establezca headerMode en raw al consumir los mensajes con Spring Cloud. Esta configuración deshabilita el análisis del contenido de los mensajes. Para obtener más información, consulte el sitio web oficial de Spring Cloud.

No such configuration property: "sasl.mechanisms"

  • C++

  • Clientes que encapsulan C++, como PHP y Node.js.

Los módulos SASL y SSL no están instalados o su instalación es incorrecta.

Ejecute los siguientes comandos para instalar los módulos SASL y SSL:

Nota

Estos comandos son para CentOS. Para otros sistemas operativos, consulte su documentación oficial o use un motor de búsqueda.

  • Instale SSL: sudo yum install openssl openssl-devel

  • Instale SASL: sudo yum install cyrus-sasl{,-plain}

No worthy mechs found

No KafkaClient Entry

Java

No se encontró el archivo de configuración kafka_client_jaas.conf.

Cree el archivo kafka_client_jaas.conf y guárdelo en un directorio accesible, como /home/admin. La configuración de inicio de sesión de seguridad de Java es global para el sistema y se puede configurar de las siguientes maneras:

  • Establezca una propiedad del sistema:

    • Defina un parámetro de JVM: -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf

    • Configure la propiedad en su código: System.setProperty("java.security.auth.login.config","/home/admin/kafka_client_jaas.conf")

      Nota

      Si establece esta propiedad en su código, asegúrese de que se ejecute antes de que inicie el cliente.

  • Modifique el archivo de propiedades de seguridad de Java: En el archivo ${JAVA_HOME}/jre/lib/java.security, agregue la siguiente línea: login.config.url.1=file:/home/admin/kafka_client_jaas.conf

Para obtener más información, consulte el archivo de configuración de inicio de sesión JAAS de Oracle.

Error sending fetch request

Java

El consumidor no pudo obtener mensajes. Las posibles causas incluyen:

  • Problema de red

  • Tiempo de espera agotado en la obtención

  1. Asegúrese de que el parámetro servers esté configurado correctamente.

  2. Ejecute el comando telnet para descartar problemas de red.

  3. Si la red no es el problema, la causa podría ser un tiempo de espera agotado en la obtención. Para resolverlo, ajuste los siguientes parámetros y limite los datos devueltos por cada solicitud de obtención:

    • fetch.max.bytes: Número máximo de bytes que devuelve el servidor para una sola solicitud de obtención.

    • max.partition.fetch.bytes: Número máximo de bytes que devuelve el servidor para una sola partición en una única operación de obtención.

  4. Compruebe si existe limitación de tráfico en el servidor. En la consola de ApsaraMQ for Kafka, vaya a la página Instance Details y revise las métricas correspondientes.

    • Para acceso mediante VPC, revise el pico de tráfico.

    • Para acceso público, revise Public Traffic.

DisconnectException

CORRUPT_MESSAGE

Todos

  • Motor de almacenamiento en la nube: este motor no admite idempotencia, función habilitada de forma predeterminada en clientes de Kafka versión 3.0 y posteriores.

  • Motor de almacenamiento local: se envió un mensaje compactado sin clave.

  • Si usa un motor de almacenamiento en la nube, establezca enable.idempotence=false en el cliente.

  • Motor de almacenamiento local: agregue una clave al mensaje.

read tcp i/o timeout

Go (u otro)

Se agotó el tiempo de espera de la conexión de red entre el consumidor y el broker, el desplazamiento del grupo de consumidores no se inicializó correctamente u ocurrió un problema de Rebalance.

  1. Compruebe la conectividad de red entre el cliente y la instancia de Kafka.

  2. Compruebe si la versión del cliente es anterior a la 0.10.2. De ser así, actualice el cliente.

  3. Ajuste los parámetros max.poll.interval.ms y session.timeout.ms.

  4. Inicie sesión en la consola para revisar el estado del consumidor y comprobar si la acumulación de mensajes y los desplazamientos son normales.

Connection terminated during authentication

Todos

La autenticación se interrumpió cuando un clúster de ACK u otro entorno se conectó a Kafka Serverless. Esto suele deberse a una configuración de protocolo incorrecta, permisos insuficientes o restricciones en las directivas de red.

  1. Compruebe que el usuario de RAM tenga la autorización adecuada.

  2. Compruebe si la dirección IP del cliente está incluida en la lista de permitidos de la instancia de Kafka.

  3. Asegúrese de que el clúster de ACK y la instancia de Kafka se encuentren en la misma VPC.

  4. Compruebe si el security group permite tráfico en el puerto 9094.

  5. Confirme que la directiva de ACL otorgue al usuario SASL acceso a los topics y grupos de consumidores correspondientes.

  6. Intente cambiar de endpoint o puerto para probar la conectividad y compruebe si la configuración del protocolo del cliente es correcta.

Connection to node -1 could not be established

Todos

El cliente no logra establecer conexión con el nodo de Kafka. Generalmente, esto se debe a problemas de red, falta de configuración en la lista de permitidos o una configuración incorrecta del acceso por red pública.

  1. Comprobar la conectividad de red: Compruebe que la máquina cliente (por ejemplo, una instancia ECS) y la instancia de Kafka estén en la misma VPC. Si no se encuentran en la misma VPC o si usa acceso local, asegúrese de que exista conexión de red.

  2. Revisar la configuración de la lista de permitidos: Compruebe que la dirección IP de salida del cliente se haya agregado a la lista de permitidos de la instancia de Kafka. Puede ejecutar un comando telnet para probar la conectividad hacia el nombre de dominio del endpoint y el puerto (como el puerto 9092).

  3. Configurar el acceso por red pública: Si necesita usar acceso por red pública, el tipo de red de la instancia debe ser Internet/VPC (las instancias VPC deben actualizarse para admitir acceso a Internet). Debe usar el endpoint SSL (puerto 9093). En el código del cliente, configure el endpoint de red pública y el certificado SSL, establezca security.protocol en SASL_SSL y mantenga sin cambios el nombre de usuario y la contraseña.