Dérive Sentinel plus VIP pour atteindre la haute disponibilité du cluster Redis

Remarque

objectifs

  • Créez un cluster de services Redis à trois nœuds pour répondre aux exigences de haute disponibilité
    • IP unifiée: le cluster à trois nœuds expose une adresse IP unifiée
    • Haute disponibilité: le nœud maître est en panne et le nœud esclave doit rapidement assumer le nœud maître
    • Séparation lecture et écriture: le nœud maître permet la lecture et l'écriture, et le nœud esclave est en lecture seule
    • Jointure rapide: après le redémarrage du nœud down, rejoignez le cluster et devenez le nœud esclave du cluster

Les principales étapes

  • Installez trois redis
  • Modifiez le fichier redis.conf
  • Modifier le fichier sentinel.conf
  • Commencez par démarrer redis un par un, s'il y a un problème, voyez si vous pouvez trouver la réponse ici: quelques trous dans le processus d'installation du middleware
  • Redémarrez sentinel
  • Configurer le script VIP et initialiser

Le test Pro peut utiliser un script

  • redis.conf
protected-mode yes
port 6379
daemonize yes
bind 0.0.0.0
 
pidfile "/var/run/redis_6379.pid"
logfile "/etc/redis/redis.log"
 
dir "/etc/redis"
dbfilename "dump.rdb"
replica-read-only yes
 
requirepass "Sxxxxx4"
masterauth "Sxxxxxx4"
  • sentinel.conf
port 26379
daemonize yes
protected-mode no
 
pidfile "/var/run/redis-sentinel.pid"
logfile "/etc/redis/sentinel.log"
dir "/tmp"
 
sentinel myid e09252859aced76c83958ef6686b739da9b2035f
sentinel deny-scripts-reconfig yes

sentinel monitor mymaster01 1xx.xx.xx.4 6379 2
sentinel down-after-milliseconds mymaster01 5000#尽可能小,才能很快看出效果
sentinel failover-timeout mymaster01 10000 #尽可能小,才能很快看出效果
sentinel auth-pass mymaster01 Spdb@1234

sentinel client-reconfig-script mymaster01 /etc/redis/transip.sh
  • Script de dérive VIP
#!/bin/bash
MASTER_IP=$6
LOCAL_IP='1x x x12'
VIP='1xxxx2'
NETMASK='24'
INTERFACE='eth0'

if [ ${MASTER_IP}=${LOCAL_IP} ]; then
    /sbin/ip  addr  add  ${VIP}/${NETMASK} dev ${INTERFACE}
    /sbin/arping    -q -c 3 -A ${VIP}  -I ${INTERFACE}
    exit 0
else
    /sbin/ip  addr  del  ${VIP}/${NETMASK} dev ${INTERFACE}
    exit 0
fi
exit 1

Je suppose que tu aimes

Origine blog.csdn.net/ljfirst/article/details/107965120
conseillé
Classement