Combate de casos de bases de datos NoSQL - solución de alta disponibilidad de Redis - Redis + Sentinel (combate de proyectos)

Prefacio

Este entorno se basa en el sistema Centos 7.8 para crear un entorno de aprendizaje de Redis. Para
una construcción específica, consulte Redis-5.0.9 Implementación del entorno


1. Diseño de la arquitectura centinela

Inserte la descripción de la imagen aquí

2. Preparación ambiental

papel anfitrión ip Versión Redis
Maestro node01 192.168.5.11 Redis-5.0.9
esclavo1 node02 192.168.5.12 Redis-5.0.9
esclavo2 node03 192.168.5.13 Redis-5.0.9

Nota: este entorno se instala en base a redis-yum

Tres, configurar la sincronización maestro-esclavo

Maestro

[root@node01 ~]# vim /etc/redis.conf 
bind 192.168.5.11
daemonize yes
appendonly yes
[root@node01 ~]# systemctl enable --now redis

esclavo1

[root@node02 ~]# vim /etc/redis.conf 
bind 192.168.5.12
daemonize yes
appendonly yes
replicaof 192.168.5.11 6379
[root@node02 ~]# systemctl enable --now redis

esclavo2

[root@node03 ~]# vim /etc/redis.conf
bind 192.168.5.13
daemonize yes
appendonly yes
replicaof 192.168.5.11 6379
[root@node03 ~]# systemctl enable --now redis

Verificar el estado de sincronización maestro-esclavo

Maestro
Inserte la descripción de la imagen aquí
esclavo1
Inserte la descripción de la imagen aquí
esclavo2 ¡ Configuración de sincronización
Inserte la descripción de la imagen aquí
maestro-esclavo exitosa! ! !

Cuarto, configura el servicio de centinela

Modificar l archivo de configuración
maestro

[root@node01 ~]# vim /etc/redis-sentinel.conf 
daemonize yes
sentinel monitor mymaster 192.168.5.11 6379 2
[root@node01 ~]# systemctl enable --now redis-sentinel.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/redis-sentinel.service to /usr/lib/systemd/system/redis-sentinel.service.
[root@node01 ~]# netstat -lnutp | grep 6379
tcp        0      0 192.168.5.11:26379      0.0.0.0:*               LISTEN      11911/redis-sentine 
tcp        0      0 192.168.5.11:6379       0.0.0.0:*               LISTEN      1698/redis-server 1 

esclavo1

[root@node02 ~]# vim /etc/redis-sentinel.conf
bind 192.168.5.11
daemonize yes
sentinel monitor mymaster 192.168.5.11 6379 2
[root@node02 ~]# systemctl enable --now redis-sentinel.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/redis-sentinel.service to /usr/lib/systemd/system/redis-sentinel.service.
[root@node02 ~]# netstat -lnutp | grep 6379
tcp        0      0 192.168.5.12:26379      0.0.0.0:*               LISTEN      11884/redis-sentine 
tcp        0      0 192.168.5.12:6379       0.0.0.0:*               LISTEN      1717/redis-server 1 

esclavo2

[root@node03 ~]# vim  /etc/redis-sentinel.conf 
bind 192.168.5.13
daemonize yes
sentinel monitor mymaster 192.168.5.11 6379 2
[root@node03 ~]# systemctl enable --now redis-sentinel.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/redis-sentinel.service to /usr/lib/systemd/system/redis-sentinel.service.
[root@node03 ~]# netstat -lnutp | grep 6379
tcp        0      0 192.168.5.13:26379      0.0.0.0:*               LISTEN      11791/redis-sentine 
tcp        0      0 192.168.5.13:6379       0.0.0.0:*               LISTEN      1648/redis-server 1 

Ver el estado de centinela

Rastrear archivos de registro de
Inserte la descripción de la imagen aquí
centinela Ver información de centinela
Inserte la descripción de la imagen aquí

Ver información del maestro centinela
Inserte la descripción de la imagen aquí

Ver información de centinela de Salve
Inserte la descripción de la imagen aquí

Cinco, simular la conmutación por error centinela

Detenga el servicio master redis

[root@node01 ~]# systemctl stop redis
[root@node01 ~]# netstat -lnutp | grep redis
tcp        0      0 192.168.5.11:26379      0.0.0.0:*               LISTEN      11911/redis-sentine 

Ver el estado maestro-esclavo después de 3 minutos

interruptor maestro a node02

Registro de seguimiento
Inserte la descripción de la imagen aquí

Ver estado maestro-esclavo
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

El maestro escribe y elimina datos y la
Inserte la descripción de la imagen aquí
conmutación por error se realiza correctamente. ! !
Inserte la descripción de la imagen aquí

Iniciar el servicio node01 redis

[root@node01 ~]# systemctl start redis
[root@node01 ~]# netstat -lnutp | grep redis
tcp        0      0 192.168.5.11:6379       0.0.0.0:*               LISTEN      12031/redis-server  
tcp        0      0 192.168.5.11:26379      0.0.0.0:*               LISTEN      11911/redis-sentine

Ver estado maestro-esclavo
Inserte la descripción de la imagen aquí

El maestro escribe los datos y el bálsamo verifica el estado de sincronización.

maestro escribe datos
Inserte la descripción de la imagen aquínode01 view
Inserte la descripción de la imagen aquí
node03 view
Inserte la descripción de la imagen aquí
¡Se realizan funciones de conmutación por error y conmutación por error! ! !

Recuperación exitosa de fallas (rol de elección no preventiva)

Nota: Después de que el maestro envía la falla, Sentinel cambia la calibración del color cambiando el archivo de configuración del nodo, para cumplir con los requisitos de conmutación por error y conmutación por error.

¡El centinela de Redis está configurado correctamente! ! !

Supongo que te gusta

Origin blog.csdn.net/XY0918ZWQ/article/details/113807073
Recomendado
Clasificación