Message d'erreur | Langage du client | Cause | Solution |
TimeoutException
| Java |
Remarque Cette erreur affecte uniquement les instances publiques de ApsaraMQ for Kafka. | Vérifiez que le paramètre servers est correctement configuré. Exécutez la commande telnet pour écarter les problèmes réseau. Si le réseau fonctionne, vérifiez votre configuration d'authentification en consultant les documents suivants :
Remarque Cette solution s'applique uniquement aux instances publiques de ApsaraMQ for Kafka.
|
run out of brokers
| Go |
Authentication failed for user
| Python |
Leader is not available
| Tous | Cette erreur peut se produire temporairement lors de l'initialisation d'une rubrique. Si l'erreur persiste, il est possible que la rubrique n'ait pas été créée. | Connectez-vous à la ApsaraMQ for Kafka console. Vérifiez si la rubrique a été créée. Si la rubrique n'existe pas, créez-la. Pour plus d'informations, reportez-vous à l'Étape 1 : Créer une rubrique.
|
leader is in election
|
array index out of bound exception
| Java | Spring Cloud analyse le contenu des messages selon son propre format. | Utilisez l'une des solutions suivantes : Recommandé : Utilisez Spring Cloud à la fois pour produire et consommer des messages. Si vous envoyez des messages par d'autres méthodes, comme l'appel du client Java natif, vous devez définir headerMode sur raw lorsque vous consommez les messages via Spring Cloud. Ce paramètre désactive l'analyse du contenu des messages. Pour plus d'informations, consultez le site officiel de Spring Cloud.
|
No such configuration property: "sasl.mechanisms"
| | Les modules SASL et SSL ne sont pas installés ou sont mal installés. | Exécutez les commandes suivantes pour installer les modules SASL et SSL :
Remarque Ces commandes sont destinées à CentOS. Pour les autres systèmes d'exploitation, reportez-vous à leur documentation officielle ou utilisez un moteur de recherche. Installer SSL : sudo yum install openssl openssl-devel Installer SASL : sudo yum install cyrus-sasl{,-plain}
|
No worthy mechs found
|
No KafkaClient Entry
| Java | Le fichier de configuration kafka_client_jaas.conf est introuvable. | Créez le fichier kafka_client_jaas.conf et enregistrez-le dans un répertoire accessible, tel que /home/admin. Les paramètres de connexion de sécurité Java sont applicables à l'échelle du système et peuvent être configurés de l'une des manières suivantes : Définir une propriété système : Définir un paramètre JVM : -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf Définir la propriété dans votre code : System.setProperty("java.security.auth.login.config","/home/admin/kafka_client_jaas.conf")
Remarque Si vous définissez cette propriété dans votre code, assurez-vous qu'elle s'exécute avant le démarrage du client.
Modifier le fichier de propriétés de sécurité Java : Dans le fichier ${JAVA_HOME}/jre/lib/java.security, ajoutez la ligne suivante : login.config.url.1=file:/home/admin/kafka_client_jaas.conf
Pour plus d'informations, consultez le Fichier de configuration de connexion Oracle JAAS. |
Error sending fetch request
| Java | Le consommateur n'a pas pu récupérer les messages. Les causes possibles incluent : | Vérifiez que le paramètre servers est correctement configuré. Exécutez la commande telnet pour écarter les problèmes réseau. Si le réseau n'est pas en cause, un dépassement de délai de récupération peut être à l'origine du problème. Pour résoudre ce problème, ajustez les paramètres suivants afin de limiter la quantité de données renvoyées par chaque requête de récupération : fetch.max.bytes : Nombre maximal d'octets renvoyés par le serveur pour une seule requête de récupération. max.partition.fetch.bytes : Nombre maximal d'octets renvoyés par le serveur pour une seule partition lors d'une opération de récupération unique.
Vérifiez s'il existe une limitation du trafic côté serveur. Dans la ApsaraMQ for Kafka console, accédez à la page Instance Details et vérifiez les métriques pertinentes. Pour l'accès VPC, vérifiez le trafic de pointe. Pour l'accès public, vérifiez le Public Traffic.
|
DisconnectException
|
CORRUPT_MESSAGE
| Tous | Pour le moteur de stockage cloud : Le moteur de stockage cloud ne prend pas en charge l'idempotence, qui est activée par défaut dans les clients Kafka version 3.0 et ultérieures. Pour le moteur de stockage local : Un message compacté a été envoyé sans clé.
| Si vous utilisez un moteur de stockage cloud, définissez enable.idempotence=false sur le client. Pour le moteur de stockage local : Ajoutez une clé au message.
|
read tcp i/o timeout
| Go (ou autre) | La connexion réseau entre le consommateur et le broker a expiré, le décalage (offset) du groupe de consommateurs n'a pas été correctement initialisé ou un problème de rééquilibrage (Rebalance) s'est produit. | Vérifiez la connectivité réseau entre le client et l'instance Kafka. Vérifiez si la version du client est antérieure à 0.10.2. Si c'est le cas, mettez à niveau le client. Ajustez les paramètres max.poll.interval.ms et session.timeout.ms. Connectez-vous à la console pour vérifier l'état du consommateur et confirmer que l'accumulation de messages et les décalages (offsets) sont normaux.
|
Connection terminated during authentication
| Tous | L'authentification a été interrompue lorsqu'un cluster ACK ou un autre environnement s'est connecté à Kafka Serverless. Cela est généralement dû à une configuration de protocole incorrecte, à des autorisations insuffisantes ou à des restrictions de politique réseau. | Vérifiez que l'utilisateur RAM est correctement autorisé. Vérifiez si l'adresse IP du client figure dans la liste d'autorisation de l'instance Kafka. Assurez-vous que le cluster ACK et l'instance Kafka se trouvent dans le même VPC. Vérifiez si le groupe de sécurité autorise le trafic sur le port 9094. Confirmez que la politique ACL accorde à l'utilisateur SASL l'accès aux rubriques et aux groupes de consommateurs concernés. Essayez de changer d'endpoint ou de port pour tester la connectivité, et vérifiez si la configuration du protocole client est correcte.
|
Connection to node -1 could not be established
| Tous | Le client ne peut pas établir de connexion avec le nœud Kafka. Cela est généralement dû à des problèmes réseau, à l'absence de configuration de la liste d'autorisation ou à une configuration incorrecte de l'accès au réseau public. | Vérifier la connectivité réseau : Assurez-vous que la machine cliente (telle qu'une instance ECS) et l'instance Kafka se trouvent dans le même VPC. Si elles ne sont pas dans le même VPC ou si vous utilisez un accès local, assurez-vous que le réseau est connecté. Vérifier la configuration de la liste d'autorisation : Vérifiez que l'adresse IP sortante du client a été ajoutée à la liste d'autorisation de l'instance Kafka. Vous pouvez exécuter une commande telnet pour tester la connectivité vers le nom de domaine de l'endpoint et le port (tel que le port 9092). Configurer l'accès au réseau public : Si vous devez utiliser l'accès au réseau public, le type de réseau de l'instance doit être Internet/VPC (les instances VPC doivent être mises à niveau pour prendre en charge l'accès Internet). Vous devez utiliser l'endpoint SSL (port 9093). Dans le code client, configurez l'endpoint de réseau public et le certificat SSL, définissez security.protocol sur SASL_SSL, et conservez le nom d'utilisateur et le mot de passe inchangés.
|