AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Comment résoudre les messages d'erreur dans les clients ElastiCache Redis ?
Je reçois des messages d'erreur lorsque j'utilise des clients Redis pour me connecter à mon cluster Amazon ElastiCache Redis.
Résolution
Erreur « Connection reset by peer » (Connexion initialisée par le pair)
Lorsque le serveur Redis met fin à la connexion, le message d'erreur suivant s'affiche :
« java.io.IOException: Connection reset by peer (java.io.IOException : Connexion réinitialisée par le pair) io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer » (Échec d’io.netty.channel.unix.Errors$NativeIoException: readAddress(..) : Connexion réinitialisée par le pair)
Cette erreur peut provenir du serveur ou du client.
Si vous recevez l'erreur du serveur, prenez les mesures suivantes pour résoudre le problème :
- Vérifiez l'absence de problèmes matériels ou de réseau sous-jacents.
- Exécutez la commande CLIENT LIST pour vérifier le quota de mémoire tampon de sortie du client. Pour en savoir plus, consultez la page CLIENT LIST du site Web de Redis. Les paramètres du groupe de paramètres de votre cluster définissent les quotas de mémoire tampon de sortie du client dans ElastiCache.
- Vérifiez si la valeur du délai d'expiration de votre groupe de paramètres ElastiCache a atteint son quota.
Si vous recevez l'erreur du client, prenez les mesures suivantes pour résoudre le problème :
- Vérifiez si les paramètres de délai d’attente de votre application sont trop bas.
- Consultez la documentation officielle ou les pages d'assistance de votre bibliothèque cliente Redis pour les bogues connus liés à la réinitialisation des connexions.
- Vérifiez que vous disposez de la dernière version de votre client Redis.
- Si vous avez activé le protocole TLS pour le cluster, vérifiez que vous avez configuré le chiffrement sur le client.
Erreur « Connection refused » (Connexion refusée) ou « Unable to connect to Redis » (Impossible de se connecter à Redis)
Lorsque le serveur refuse la connexion, le message d'erreur suivant s'affiche :
« JedisConnectionException: java.net.ConnectException: Connection refused
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException:
Connection refused
ECONNREFUSED
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis org.redisson.client.RedisConnectionException: Unable to connect to Redis server ### » (JedisConnectionException : java.net.ConnectException : Connexion refusée Causé par : io.netty.channel.AbstractChannel$AnnotatedConnectException : Connexion refusée ECONNREFUSED org.springframework.data.redis.RedisConnectionFailureException : Impossible de se connecter à Redis org.redisson.client.RedisConnectionException : Impossible de se connecter au serveur ### »)
Pour résoudre ce problème, vérifiez les points suivants :
- Le point de terminaison Redis est accessible. Vous pouvez utiliser des outils tels que telnet ou redis-cli.
- Les règles du groupe de sécurité autorisent le trafic sur le port 6379.
- Aucun pare-feu ne bloque la connexion.
- Il n'y a aucune contrainte de mémoire, de processeur, de réseau ou de ressources de connexion.
Remarque : Vous pouvez utiliser des outils tels que tcpdump pour analyser les tentatives de connexion.
Erreur « Connection timed out » (Expiration du délai de connexion)
Lorsque la connexion expire, le message d'erreur suivant s'affiche :
« redis.exceptions.TimeoutError: Timeout connecting to server io.netty.channel.ConnectTimeoutException: connection timed out org.redisson.client.RedisTimeoutException: Unable to acquire connection! » (redis.exceptions.TimeoutError : Expiration du délai de connexion au serveur io.netty.channel.ConnectTimeoutException : la connexion a expiré org.redisson.client.RedisTimeoutException : Impossible d’acquérir la connexion !)
L'erreur Expiration du délai de connexion peut être persistante ou intermittente.
Si l'erreur de délai d’attente persiste, prenez les mesures suivantes pour résoudre le problème :
- Vérifiez la connectivité et la configuration réseau pour confirmer la connexion au cluster ElastiCache Redis.
- Vérifiez que vous avez spécifié les points de terminaison Redis corrects.
Pour résoudre les erreurs de temporisation persistantes, consultez la section Problèmes de connexion persistants.
Si les erreurs de délai d’attente sont intermittentes, prenez les mesures suivantes pour résoudre le problème :
- Utilisez la console ElastiCache pour vérifier les événements de récupération ou de basculement des nœuds.
- Vérifiez les contraintes relatives à la mémoire, au processeur, au réseau ou aux ressources de connexion.
- Vérifiez si la latence était élevée au moment du problème.
- Vérifiez la configuration du délai d'attente dans votre application client.
Erreur « Read timed out » (Expiration du délai de lecture)
Lorsque la commande ne s'exécute pas dans le délai que vous avez configuré, le message d'erreur suivant s'affiche :
« StackExchange.Redis.RedisTimeoutException: Timeout performing GET (5000ms) io.lettuce.core.RedisCommandTimeoutException: Command timed out org.springframework.data.redis.RedisConnectionFailureException: java.net.SocketTimeoutException: Read timed out redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out » (StackExchange.Redis.RedisTimeoutException : Expiration du délai d’exécution de GET (5000 ms) io.lettuce.core.RedisCommandTimeoutException : Expiration du délai de la commande org.springframework.data.redis.RedisConnectionFailureException : java.net.SocketTimeoutException : Expiration du délai de lecture redis.clients.jedis.exceptions.JedisConnectionException : java.net.SocketTimeoutException : Expiration du délai de lecture)
Cette erreur se produit lorsque le thread Redis traite des commandes complexes ou de longue durée.
Pour résoudre ce problème, prenez les mesures suivantes :
- Vérifiez les contraintes relatives à la mémoire, au processeur, au réseau ou aux ressources de connexion.
- Vérifiez qu'il n’existe pas de limitation des ressources côté client.
- Vérifiez si la latence était élevée au moment du problème.
- Vérifiez les commandes de longue durée qui bloquent le moteur Redis, car Redis est un moteur à thread unique qui traite une seule requête à la fois. Pour obtenir des instructions, consultez la page SLOWLOG GET sur le site Web de Redis.
- Vérifiez que le nombre de commandes par unité de temps n’est pas excessif. Pour obtenir des instructions, consultez la page INFO sur le site Web de Redis.
Erreur « Operation timed out » (Expiration du délai de l’opération)
Lorsque la connexion reste inactive plus longtemps que la valeur de délai que vous avez configurée, le message d'erreur suivant s'affiche :
« io.lettuce.core.RedisException: java.io.IOException: Operation timed out » (io.lettuce.core.RedisException: java.io.IOException : Expiration du délai de l’opération)
Le message d'erreur Expiration du délai d’expiration peut s'afficher pour les raisons suivantes :
- Le cluster ElastiCache est soumis à une charge élevée et ne peut pas traiter les commandes à temps.
- Le trafic réseau dépasse le quota de bande passante côté cluster ou côté client.
Pour résoudre ce problème, prenez les mesures suivantes :
- Vérifiez les contraintes relatives à la mémoire, au processeur, au réseau ou aux ressources de connexion.
- Vérifiez qu'il n’existe pas de limitation des ressources côté client.
- Vérifiez les commandes de longue durée qui bloquent le moteur Redis. Pour obtenir des instructions, consultez la page SLOWLOG GET sur le site Web de Redis.
- Vérifiez la configuration du délai d'attente dans votre application cliente et votre cluster, et définissez les paramètres de délai d’expiration appropriés pour éviter les déconnexions inactives.
Erreur « NOAUTH Authentication required » (Authentification NOAUTH requise)
Lorsque vous vous connectez à un serveur Redis qui requiert une authentification mais ne fournit pas d'informations d'identification valides, le message d'erreur Authentification NOAUTH requise s'affiche.
Pour résoudre ce problème, prenez les mesures suivantes :
- Entrez le nom d'utilisateur et le mot de passe corrects pour vous connecter au cluster.
- Vérifiez que la syntaxe de la configuration de la bibliothèque cliente et de la chaîne de connexion est correcte.
Erreur « ERR max number of clients reached » (ERR nombre max. de clients atteint)
Lorsqu'un nœud de cluster atteint son quota de connexion maximal, le message d'erreur ERR nombre max. de clients atteint s'affiche.
Pour résoudre ce problème, prenez les mesures suivantes :
- Vérifiez la métrique CurrConnections et assurez-vous qu'elle se situe dans les limites du quota maxclients. Pour plus d’informations, consultez la page Nombre maximum de clients connectés simultanément sur le site Web de Redis.
- Utilisez le regroupement de connexions pour réutiliser les connexions.
- Définissez les valeurs de délai d'expiration appropriées dans votre configuration client.
- Configurez les clients afin qu'ils se connectent directement aux réplicas en lecture pour les opérations de lecture afin de répartir la charge sur les nœuds du cluster.
Erreur « LOADING Redis is loading the dataset in memory » (CHARGEMENT Redis charge le jeu de données en mémoire)
Lorsque vous vous connectez à un nœud qui charge son jeu de données en mémoire lors du démarrage ou de la synchronisation des réplicas, le message d'erreur suivant s'affiche :
« LOADING Redis is loading the dataset in memory (error) LOADING Redis is loading the dataset in memory » (CHARGEMENT Redis charge le jeu de données en mémoire (erreur) CHARGEMENT Redis charge le jeu de données en mémoire)
Il est recommandé de mettre en œuvre le backoff. Pour plus d'informations, consultez la section Détection du client de cluster Redis et backoff exponentiel dans Meilleures pratiques : Clients Redis et Amazon ElastiCache for Redis.
Erreur « OOM command not allowed when used memory > 'maxmemory' » (Commande OOM non autorisée lorsque la mémoire est utilisée > 'maxmemory')
Le paramètre maxmemory définit la quantité maximale de mémoire qu'un nœud Redis peut utiliser pour le stockage de données.
Lorsque l'utilisation de la mémoire dépasse le quota maxmemory, Redis applique la politique maxmemory-policy que vous avez définie dans le groupe de paramètres. Selon la politique maxmemory-policy, Redis évince les clés ou renvoie l'erreur OOM command not allowed (Commande OOM non autorisée).
Pour résoudre ce problème, prenez les mesures suivantes :
- Configurez la politique maxmemory-policy pour évincer les clés en fonction des exigences de votre application.
- Mettez à niveau le cluster vers un type de nœud de plus grande taille lorsque l'utilisation de la mémoire dépasse régulièrement le quota.
Erreur « CROSSSLOT Keys in request don't hash to the same slot » (Les clés CROSSSLOT demandées ne sont pas hachées vers le même emplacement)
Lorsque vous exécutez des opérations à clés multiples sur un cluster dont le mode cluster est activé et dont les emplacements de hachage sont différents, le message d'erreur CROSSSLOT s'affiche.
Pour résoudre ce problème, consultez la section Comment résoudre l'erreur CROSSSLOT que je reçois lorsque j'utilise des opérations à clés multiples sur un cluster ElastiCache (Redis OSS) conçu par mes soins ?
Erreur « CLUSTERDOWN The cluster is down » (PANNE CLUSTER Le cluster est en panne)
Lorsqu'un nœud cesse de répondre, le cluster devient indisponible et le message d’erreur Le cluster est en panne s’affiche.
Pour résoudre ce problème, prenez les mesures suivantes :
- Utilisez la console ElastiCache pour vérifier les événements de récupération ou de basculement des nœuds.
- Vérifiez les contraintes relatives à la mémoire, au processeur, au réseau ou aux ressources de connexion.
- Vérifiez si le problème provient de commandes à exécution lente. Pour obtenir des instructions, consultez la page SLOWLOG GET sur le site Web de Redis.
Erreur « READONLY You can't write against a read-only replica » (LECTURE SEULE Vous ne pouvez pas écrire sur un réplica en lecture seule)
Voici les raisons pour lesquelles vous recevez un message d'erreur lorsque vous essayez d'écrire sur un nœud Redis que vous avez configuré en tant que réplica en lecture :
- Votre application se connecte directement à un réplica en lecture.
- La mise en cache DNS de l'application achemine le trafic vers l'ancien nœud primaire.
Pour résoudre l’erreur, consultez la section Comment résoudre l'erreur READONLY obtenue suite à un basculement dans un cluster Amazon ElastiCache for Redis conçu par mes soins ?
Erreur « MOVED [slot] [IP Adress] [port] » (A DÉPLACÉ [slot] [Adresse IP] [port])
Le message de redirection A DÉPLACÉ contient l'emplacement de hachage, l'adresse IP et le port du nœud pour la clé demandée :
« -MOVED 3999 127.0.0.1:6381 » (-A DÉPLACÉ 3999 127.0.0.1:6381)
L'erreur A DÉPLACÉ peut s'afficher pour les raisons suivantes :
- Le client essaie d'accéder à une clé dans un slot de hachage qui ne se trouve pas sur le nœud connecté.
- Vous avez activé le mode cluster pour le cluster, mais le client n'est pas compatible avec les clusters.
- Votre réplica en lecture ne comporte pas l’indicateur lecture seule.
- Votre client utilise des informations de cluster obsolètes, telles qu'une modification du nombre de partitions ou de nœuds.
Pour résoudre les erreurs, procédez comme suit :
- Si vous avez activé le mode cluster, vérifiez que le client est compatible avec les clusters.
- Exécutez la commande lecture seule pour vous assurer que le nœud de réplication lit les requêtes. Pour en savoir plus, consultez la section Comment corriger les demandes de lecture du client Redis qui sont redirigées vers le nœud primaire d'une partition plutôt que vers un nœud de réplication dans ElastiCache for Redis ?
- Configurez le client afin qu'il interroge fréquemment la topologie du cluster.
Remarque : Pour afficher les détails des partitions du cluster, exécutez la commande CLUSTER SHARDS. Pour plus de détails sur les nœuds de cluster, exécutez la commande CLUSTER NODES. Pour plus d'informations, consultez CLUSTER SHARDS et CLUSTER NODES sur le site Web de Redis.
- Sujets
- Database
- Balises
- Amazon ElastiCache
- Langue
- Français

Contenus pertinents
- demandé il y a 2 mois
- demandé il y a 3 ans
- demandé il y a 2 ans