场景一: 测试需要,需要手动切换主从
在redis节点:
$ redis-cli -h xx.xx.xx.xx -p XX -a 'XX' shutdown
不要直接关闭redis进程,使用 shutdown ,能在进程关闭前持久化内存中的数据
待主从切换完毕后:
$ systemctl start redis-server
场景二、故障恢复,需要手动切换主从
背景
架构: 3台服务器,1主2从3哨兵,每台服务有一个主(或从))和哨兵。
主(哨兵1):192.168.1.11
从(哨兵2):192.168.1.12
从(哨兵3):192.168.1.13
线上redis master异常关机之后重启, 发现redis哨兵模式下 三个节点都是slave,无法选择出主。
主从切换操作
登录192.168.1.11(master),关闭redis进程
$ redis-cli -h 192.168.1.11 -p 6379 -a 'XX' shutdown
登录192.168.1.12(new master)
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' slaveof no one
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' config set slave-read-only no
登录192.168.1.13(slave)
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' config set masterauth 'XXX'
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' slaveof 192.168.1.12 6379
启动192.168.1.11 redis进程,成为192.168.1.12(new master)的slave
$ systemctl start redis-server
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' config set masterauth 'XXX'
$ redis-cli -h 192.168.1.12 -p 6379 -a 'XX' slaveof 192.168.1.12 6379
参考
Redis的主从切换
https://www.it610.com/article/3522365.htm
redis主从宕机切换 SLAVEOF
https://www.qiansw.com/slaveof-redis-master-slave.html
手动调整master-slave切换
https://www.jianshu.com/p/1ee8012b9b3b
redis 主从备份(手动切换)
https://blog.51cto.com/u_15069442/3441150
Redis的主从切换
https://www.it610.com/article/3522365.htm
网友评论