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.
¿Cómo soluciono los mensajes de error en los clientes de Redis de ElastiCache?
Recibo mensajes de error cuando uso clientes de Redis para conectarme a mi clúster de Redis de Amazon ElastiCache.
Resolución
Error “Connection reset by peer”
Cuando el servidor de Redis termine la conexión, verás el siguiente mensaje de error:
“java.io.IOException: Connection reset by peer
io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer”
Este error puede originarse en el servidor o en el cliente.
Si recibes el error del servidor, toma las siguientes medidas para resolver el problema:
- Comprueba si hay problemas subyacentes de hardware o red.
- Usa el comando CLIENT LIST para comprobar la cuota del búfer de salida del cliente. Para obtener más información, consulte CLIENT LIST en el sitio web de Redis. Los parámetros del grupo de parámetros del clúster definen las cuotas del búfer de salida del cliente en ElastiCache.
- Comprueba si el valor de tiempo de espera de tu grupo de parámetros de ElastiCache alcanzó su cuota.
Si recibes el error del cliente, toma las siguientes medidas para resolver el problema:
- Comprueba si la configuración del tiempo de espera de tu aplicación es demasiado baja.
- Consulta la documentación oficial o las páginas de soporte de la biblioteca del cliente de Redis para ver si hay errores conocidos relacionados con el restablecimiento de la conexión.
- Comprueba que tengas la versión más reciente del cliente de Redis.
- Si activaste TLS para el clúster, confirma que hayas configurado el cifrado en el cliente.
Error “Connection refused” o “Unable to connect to Redis”
Cuando el servidor rechaza la conexión, verás el siguiente mensaje de error:
“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 ###”
Para resolver este problema, comprueba lo siguiente:
- Se puede acceder al punto de enlace de Redis. Puedes usar herramientas como telnet o redis-cli.
- Las reglas del grupo de seguridad permiten el tráfico en el puerto 6379.
- No hay ningún firewall que bloquee la conexión.
- No hay restricciones de recursos de memoria, CPU, red o conexión.
Nota: Pueded usar herramientas como tcpdump para analizar los intentos de conexión.
Error “Connection timed out”
Cuando se agota el tiempo de espera de la conexión, verás el siguiente mensaje de error:
“redis.exceptions.TimeoutError: Timeout connecting to server io.netty.channel.ConnectTimeoutException: connection timed out org.redisson.client.RedisTimeoutException: Unable to acquire connection!”
El error Connection timed out puede ser persistente o intermitente.
Si el error de tiempo de espera persiste, toma las siguientes medidas para resolver el problema:
- Verifique la conectividad y la configuración de la red para confirmar la conexión al clúster de Redis de ElastiCache.
- Confirma que hayas especificado los puntos de enlace de Redis correctos.
Para solucionar errores de tiempo de espera persistentes, consulta Persistent connection issues.
Si los errores de tiempo de espera son intermitentes, toma las siguientes medidas para resolver el problema:
- Utiliza la consola de ElastiCache para comprobar si hay eventos de recuperación o conmutación por error de nodos.
- Comprueba si hay restricciones de recursos de memoria, CPU, red o conexión.
- Comprueba si la latencia era alta cuando se produjo el problema.
- Comprueba la configuración del tiempo de espera en la aplicación cliente.
Error “Read timed out”
Cuando el comando no se completa dentro del valor de tiempo de espera que configuraste, verás el siguiente mensaje de error:
“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”
Este error se produce cuando el subproceso de Redis procesa comandos complejos o de ejecución prolongada.
Para solucionar este problema, toma las siguientes medidas:
- Comprueba si hay restricciones de recursos de memoria, CPU, red o conexión.
- Verifica que no haya ninguna limitación de recursos en el cliente.
- Comprueba si la latencia era alta cuando se produjo el problema.
- Comprueba si hay comandos de ejecución prolongada que bloqueen el motor de Redis, ya que Redis es un motor de subproceso único que procesa las consultas una por una. Para obtener instrucciones, consulta SLOWLOG GET en el sitio web de Redis.
- Comprueba si hay un exceso de comandos por unidad de tiempo. Para obtener instrucciones, consulta la sección INFO en el sitio web de Redis.
Error “Operation timed out”
Cuando la conexión permanece inactiva durante más tiempo que el valor de tiempo de espera que configuraste, verás el siguiente mensaje de error:
“io.lettuce.core.RedisException: java.io.IOException: Operation timed out”
Es posible que recibas el error Operation timed out por los siguientes motivos:
- El clúster de ElastiCache tiene una carga elevada y no puede procesar los comandos a tiempo.
- El tráfico de red supera la cuota de ancho de banda en el clúster o en el cliente.
Para solucionar este problema, toma las siguientes medidas:
- Comprueba si hay restricciones de recursos de memoria, CPU, red o conexión.
- Verifica que no haya ninguna limitación de recursos en el cliente.
- Comprueba si hay comandos de ejecución prolongada que bloqueen el motor de Redis. Para obtener instrucciones, consulta SLOWLOG GET en el sitio web de Redis.
- Comprueba la configuración de tiempo de espera en la aplicación cliente y el clúster, y define los parámetros de tiempo de espera adecuados para evitar las desconexiones inactivas.
Error “NOAUTH Authentication required”
Cuando te conectas a un servidor de Redis que requiere autenticación, pero no proporciona credenciales válidas, recibes el mensaje de error NOAUTH Authentication required.
Para solucionar este problema, toma las siguientes medidas:
- Proporciona el nombre de usuario y la contraseña correctos para conectarte al clúster.
- Confirma que la configuración de la biblioteca del cliente y la cadena de conexión tengan la sintaxis correcta.
Error “ERR max number of clients reached”
Cuando un nodo del clúster alcanza su cuota máxima de conexión, recibes el mensaje de error ERR max number of clients reached.
Para solucionar este problema, toma las siguientes medidas:
- Comprueba la métrica CurrConnections y confirma que está dentro de la cuota de maxclients. Para obtener más información, consulta Maximum concurrent connected clients en el sitio web de Redis.
- Usa la agrupación de conexiones para reutilizar las conexiones.
- Establece los valores de tiempo de espera adecuados en la configuración del cliente.
- Configura los clientes para que se conecten directamente a las réplicas de lectura para que las operaciones de lectura distribuyan la carga entre los nodos del clúster.
Error “LOADING Redis is loading the dataset in memory”
Cuando te conectes a un nodo que carga tu conjunto de datos en la memoria durante el inicio o la sincronización de réplicas, verás el siguiente mensaje de error:
“LOADING Redis is loading the dataset in memory (error) LOADING Redis is loading the dataset in memory”
Implementar el retroceso es una práctica recomendada. Para obtener más información, consulta la sección Redis cluster client discovery and exponential backoff en Best practices: Redis clients and Amazon ElastiCache for Redis.
Error “OOM command not allowed when used memory > 'maxmemory'”
El parámetro maxmemory establece la cantidad máxima de memoria que un nodo de Redis puede usar para almacenar datos.
Cuando el uso de memoria supera la cuota de maxmemory, Redis aplica la maxmemory-policy que estableciste en el grupo de parámetros. Según la maxmemory-policy, Redis desaloja las claves o devuelve el error OOM command not allowed.
Para solucionar este problema, toma las siguientes medidas:
- Configura maxmemory-policy para desalojar las claves en función de los requisitos de tu aplicación.
- Actualiza el clúster a un tipo de nodo más grande cuando el uso de la memoria supere constantemente la cuota.
Error “CROSSSLOT Keys in request don't hash to the same slot”
Cuando lleves a cabo operaciones de varias claves en un clúster que tiene el modo clúster activado y diferentes ranuras de hash, verás el error CROSSSLOT.
Para resolver este problema, consulta How do I resolve the CROSSSLOT error I receive when I use multi-key operations on an ElastiCache (Redis OSS) self-designed cluster?
Error “CLUSTERDOWN The cluster is down”
Cuando un nodo deja de responder, el clúster deja de estar disponible y aparece el mensaje de error The cluster is down.
Para solucionar este problema, toma las siguientes medidas:
- Utiliza la consola de ElastiCache para comprobar si hay eventos de recuperación o conmutación por error de nodos.
- Comprueba si hay restricciones de recursos de memoria, CPU, red o conexión.
- Comprueba si el problema se debe a la lentitud de los comandos. Para obtener instrucciones, consulta SLOWLOG GET en el sitio web de Redis.
Error “READONLY You can't write against a read-only replica”
Los siguientes son los motivos por los que recibes un error al intentar escribir en un nodo de Redis que configuraste como réplica de lectura:
- La aplicación se conecta directamente a una réplica de lectura.
- El almacenamiento en caché de DNS en la aplicación dirige el tráfico al nodo principal anterior.
Para resolver el problema, consulta ¿Cómo soluciono el error READONLY que recibo después de una conmutación por error en mi clúster de diseño propio de ElastiCache para Redis?
Error “MOVED [slot] [IP address] [port]”
El mensaje de redirección MOVED contiene la ranura hash, la dirección IP y el puerto del nodo para la clave solicitada:
“-MOVED 3999 127.0.0.1:6381”
Los siguientes son los motivos por los que puedes recibir el error MOVED:
- El cliente intenta acceder a una clave en una ranura hash que no está en el nodo conectado.
- Has activado el modo de clúster para el clúster, pero el cliente no reconoce el clúster.
- La réplica de lectura no tiene la marca readonly.
- El cliente tiene información del clúster desactualizada, como un cambio en la cantidad de particiones o nodos.
Para resolver estos problemas, toma las siguientes medidas:
- Si activaste el modo de clúster, confirma que el cliente reconozca el clúster.
- Usa el comando readonly para asegurarte de que el nodo de réplica lea las solicitudes. Para obtener más información, consulta ¿Cómo resuelvo las solicitudes de lectura de clientes de Redis que se redirigen al nodo principal de una partición en lugar de a un nodo de réplica en ElastiCache para Redis?
- Configura el cliente para que consulte con frecuencia la topología del clúster.
Nota: Para ver los detalles de las particiones del clúster, usa el comando CLUSTER SHARDS. Para obtener más información sobre los nodos del clúster, usa el comando CLUSTER NODES. Para obtener más información, consulta CLUSTER SHARDS y CLUSTER NODES en el sitio web de Redis.
- Temas
- Database
- Etiquetas
- Amazon ElastiCache
- Idioma
- Español

Contenido relevante
- Respuesta aceptadapreguntada hace 8 meses
- Respuesta aceptadapreguntada hace 5 meses
- preguntada hace 3 meses