Cómo implementar Redis Sentinel y Cluster

Tabla de contenido

1. Base de datos de Redis

2. Modo centinela de Redis

3. Implementar Redis Sentinel

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 5: inicie el nodo Redis

Paso 6 Verifique si todos los puertos se iniciaron exitosamente

Paso 7: iniciar el clúster

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

Supongo que te gusta

Origin blog.csdn.net/Liu_Fang_Hong/article/details/132014840
Recomendado
Clasificación