Editado 4 hace días por ExtremeHow Equipo Editorial
RedisLinuxClústerConfiguraciónConfiguraciónSistema distribuidoAlta DisponibilidadEscalabilidadBase de datosServidor
Traducción actualizada 4 hace días
Redis es una popular almacenadora de datos en memoria que se puede utilizar como base de datos, caché y corredor de mensajes. Admite estructuras de datos como cadenas, hashes, listas, conjuntos y más. Redis Cluster proporciona una forma de ejecutar una instalación de Redis donde los datos se particionan automáticamente en varios nodos de Redis. Este tutorial lo guiará a través de los pasos para configurar un clúster de Redis en una máquina Linux.
Primero, debe asegurarse de que Redis esté instalado en todos los nodos que participan en el clúster. Use el siguiente comando según su distribución de Linux:
sudo apt update sudo apt install redis-server
sudo yum install epel-release sudo yum install redis
Inicie y habilite el servicio Redis:
sudo systemctl start redis sudo systemctl enable redis
En cada nodo Redis, debe configurar la instancia de Redis para el modo de clúster. Para lograr esto, debe editar el archivo /etc/redis/redis.conf
.
Localice y modifique las siguientes configuraciones:
bind 0.0.0.0
para permitir conexiones desde fuera del localhost.protected-mode
a no
.cluster-enabled
y configurarlo en yes
.cluster-config-file nodes-6379.conf
para especificar el nombre del archivo de configuración del clúster.cluster-node-timeout 5000
, que es el período de tiempo después del cual se considera que el nodo está inactivo.appendonly
y configurarlo en yes
para la durabilidad de los datos.Una sección de ejemplo de un archivo redis.conf
podría verse así:
bind 0.0.0.0 protected-mode no port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes
Después de guardar los cambios, reinicie el servicio Redis para aplicar la nueva configuración:
sudo systemctl restart redis
Cree directorios para la configuración y datos de los nodos del clúster. Para simplificar, asumamos que la ruta es /var/lib/redis/
. Repita esto para cada nodo:
sudo mkdir -p /var/lib/redis/6379 sudo chown redis:redis /var/lib/redis/6379
El clúster de Redis necesita mantener algunos puertos abiertos para la comunicación. Para cada nodo, los siguientes puertos deben estar abiertos en el firewall:
Use iptables
o la configuración del firewall del proveedor de la nube para permitir estos puertos.
A continuación, conectaremos todas las instancias de Redis configuradas para formar un clúster. Utilice la herramienta redis-cli
para este propósito. En cualquier nodo, ejecute el siguiente comando:
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 --cluster-replicas 1
Reemplace las direcciones IP con las direcciones IP de sus nodos. La opción --cluster-replicas 1
asegura que cada nodo maestro tenga una réplica. Este comando le pedirá confirmación antes de asignar maestros y esclavos como parte de la configuración del clúster.
Una vez que el clúster esté configurado, debe verificar su configuración conectándose a él usando cualquier nodo con la herramienta redis-cli
:
redis-cli -c -p 6379
Para verificar el estado del clúster, puede ejecutar el comando:
cluster nodes
Esta salida mostrará todos los nodos de su clúster con sus roles (maestro o esclavo), ID y direcciones IP.
Una vez que su clúster esté en funcionamiento, puede preguntarse cómo realizar operaciones regulares. Aquí hay algunos comandos útiles para la administración de clúster:
Para agregar un nuevo nodo al clúster:
redis-cli --cluster add-node newnodeip:port existingnodeip:port
Para eliminar un nodo del clúster:
redis-cli --cluster del-node currentnodeip:port <node_id>
Redis Cluster usa ranuras hash para determinar dónde se almacenarán los datos. A veces, es posible que desee reasignar ranuras de un nodo a otro:
redis-cli --cluster reshard currentnodeip:port
Algunas de las mejores prácticas para garantizar la estabilidad y el rendimiento en el funcionamiento de un clúster de Redis incluyen:
redis.conf
.Configurar un clúster de Redis en Linux implica instalar Redis en múltiples nodos, configurar cada instancia para el modo de clúster y usar la herramienta CLI para conectarlos entre sí. Aunque esta guía proporciona un recorrido exhaustivo, se requerirán actividades regulares de administración y monitoreo para lograr un rendimiento y estabilidad óptimos. Al seguir esta guía, ahora ha dado un paso importante hacia el uso de Redis Cluster y sus beneficios para la gestión de datos distribuidos.
Si encuentras algo incorrecto en el contenido del artículo, puedes