Mensaje de error | Lenguaje del cliente | Causa | Solución |
TimeoutException
| Java |
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. | Inicie sesión en la consola de ApsaraMQ for Kafka. Compruebe si el topic ya se creó. 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"
| | 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: | Asegúrese de que el parámetro servers esté configurado correctamente. Ejecute el comando telnet para descartar problemas de red. 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.
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. | Compruebe la conectividad de red entre el cliente y la instancia de Kafka. Compruebe si la versión del cliente es anterior a la 0.10.2. De ser así, actualice el cliente. Ajuste los parámetros max.poll.interval.ms y session.timeout.ms. 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. | Compruebe que el usuario de RAM tenga la autorización adecuada. Compruebe si la dirección IP del cliente está incluida en la lista de permitidos de la instancia de Kafka. Asegúrese de que el clúster de ACK y la instancia de Kafka se encuentren en la misma VPC. Compruebe si el security group permite tráfico en el puerto 9094. Confirme que la directiva de ACL otorgue al usuario SASL acceso a los topics y grupos de consumidores correspondientes. 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. | 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. 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). 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.
|