Tabla de contenido
El primer paso es apagar el firewall y el mecanismo de seguridad.
El segundo paso es modificar el archivo de configuración de Redis.
El tercer paso es abrir el nodo maestro.
Paso 4 Ver información de Sentinel
4. Cómo implementar el clúster Redis
El primer paso es crear directorios para diferentes nodos de puerto.
Paso 2 Crear archivo de script
Paso 3: autorizar y ejecutar el archivo de script
Paso 4 Modificar el archivo de configuración
Paso 6 Verifique si todos los puertos se iniciaron exitosamente
Paso 8: Pruebe el inicio de sesión del clúster
Paso 9 Verifique el rango de ranuras de hash del nodo
Paso 10 Verifique el número de ranura de la clave de nombre
1. Base de datos de Redis
●Replicación maestro-esclavo: la replicación maestro-esclavo es la base de Redis de alta disponibilidad. Tanto Sentinel como Cluster logran una alta disponibilidad basada en la replicación maestro-esclavo. La replicación maestro-esclavo implementa principalmente copias de seguridad de datos en múltiples máquinas, así como equilibrio de carga y recuperación de fallas simples para operaciones de lectura. Defectos: la recuperación de fallas no se puede automatizar; las operaciones de escritura no se pueden equilibrar con la carga; la capacidad de almacenamiento está limitada por una sola máquina.
●Sentinel: basado en la replicación maestro-esclavo, Sentinel implementa recuperación de fallas automatizada. Defectos: las operaciones de escritura no se pueden equilibrar la carga; la capacidad de almacenamiento está limitada por una sola máquina; Sentinel no puede realizar la conmutación por error automática de los nodos esclavos. En un escenario de separación de lectura y escritura, la falla del nodo esclavo hará que el servicio de lectura no esté disponible y se requiera monitoreo adicional. de los nodos esclavos es necesario. , operación de conmutación.
●Clúster: a través de la agrupación en clústeres, Redis resuelve el problema de que las operaciones de escritura no se pueden equilibrar la carga y la capacidad de almacenamiento está limitada por una sola máquina, logrando una solución relativamente completa de alta disponibilidad.
2. Modo centinela de Redis
La función principal de Sentinel: basada en la replicación maestro-esclavo, Sentinel introduce la conmutación por error automática del nodo maestro.
#Principio del modo Sentinel:
Sentinel: es un sistema distribuido que se utiliza para monitorear cada servidor en la estructura maestro-esclavo. Cuando ocurre una falla, se selecciona un nuevo Maestro a través del mecanismo de votación y todos los Esclavos se conectan al nuevo Maestro. Por lo tanto, el número de todo el clúster que ejecuta Sentinel no debe ser inferior a 3 nodos.
El papel del modo centinela:
●Monitoreo: Sentinel comprobará constantemente si el nodo maestro y los nodos esclavos funcionan normalmente.
● Conmutación por error automática: cuando el nodo maestro no funciona correctamente, Sentinel iniciará una operación de conmutación por error automática. Actualizará uno de los nodos esclavos del nodo maestro fallido al nuevo nodo maestro y permitirá que otros nodos esclavos cambien para replicar el nuevo. nodo maestro. .
●Notificación (recordatorio): Sentinel puede enviar los resultados de la conmutación por error al cliente.
La estructura centinela consta de dos partes, nodos centinela y nodos de datos:
● Nodo centinela: el sistema centinela consta de uno o más nodos centinela, que son nodos de redis especiales que no almacenan datos.
●Nodo de datos: tanto el nodo maestro como el nodo esclavo son nodos de datos.
El inicio de Sentinel depende del modo maestro-esclavo, por lo que el modo maestro-esclavo debe instalarse antes de iniciar el modo Sentinel. El modo Sentinel debe implementarse en todos los nodos. El modo Sentinel monitoreará si todos los nodos de trabajo de Redis son normales. Cuando aparece el Maestro Cuando hay un problema, porque otros nodos han perdido contacto con el nodo maestro, votarán, si se emiten más de la mitad de los votos, se considerará que efectivamente hay un problema con el Maestro. Luego se notificará a la sala centinela y uno de los Esclavos será seleccionado como nuevo Maestro.
Es importante tener en cuenta que el objetivo fuera de línea es un concepto que solo existe para el nodo maestro; si el nodo esclavo y el nodo centinela fallan, después de que el centinela esté subjetivamente fuera de línea, no habrá operaciones objetivas fuera de línea ni de conmutación por error posteriores.
3. Implementar Redis Sentinel
El primer paso es apagar el firewall y el mecanismo de seguridad.
Instrucción: systemctl detener firewalld
systemctl deshabilita el firewalld
setenforce 0
El segundo paso es modificar el archivo de configuración de Redis.
Comando: vim /opt/redis-5.0.7/sentinel.conf
El tercer paso es abrir el nodo maestro.
Comando: cd /opt/redis-5.0.7
redis-sentinel sentinel.conf
Paso 4 Ver información de Sentinel
Comando: redis-cli -p 26379 centinela de información
4. Cómo implementar el clúster Redis
El primer paso es crear directorios para diferentes nodos de puerto.
Instrucción: cd /etc/redis/
mkdir -p redis-cluster/redis600{1..6}
Paso 2 Crear archivo de script
Contenido del paso:
para i en {1..6}
hacer
cp /opt/redis-5.0.7/redis.conf /etc/redis/redis-cluster/redis600$i
cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis600$he
terminado
Paso 3: autorizar y ejecutar el archivo de script
Comando: chmod 777 jb.sh
./jb.sh
Paso 4 Modificar el archivo de configuración
Comando: vim /etc/redis/redis-cluster/redis6001/redis.conf
vim /etc/redis/redis-cluster/redis6002/redis.conf
vim /etc/redis/redis-cluster/redis6003/redis.conf
vim /etc/redis/redis-cluster/redis6004/redis.conf
vim /etc/redis/redis-cluster/redis6005/redis.conf
vim /etc/redis/redis-cluster/redis6006/redis.conf
Paso 5: inicie el nodo Redis
Instrucción: cd /etc/redis/redis-cluster/redis6001
servidor redis redis.conf
CD /etc/redis/redis-cluster/redis6002
servidor redis redis.conf
CD /etc/redis/redis-cluster/redis6003
servidor redis redis.conf
CD /etc/redis/redis-cluster/redis6004
servidor redis redis.conf
CD /etc/redis/redis-cluster/redis6005
servidor redis redis.conf
CD /etc/redis/redis-cluster/redis6006
servidor redis redis.conf
Paso 6 Verifique si todos los puertos se iniciaron exitosamente
Comando: ps -elf | grep redis
Paso 7: iniciar el clúster
comando: redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.01:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1
Paso 8: Pruebe el inicio de sesión del clúster
Comando: redis-cli -p [número de puerto] -c
Paso 9 Verifique el rango de ranuras de hash del nodo
Comando: ranuras de clúster
Paso 10 Verifique el número de ranura de la clave de nombre
Comando: nombre de ranura de claves del clúster