Redis 之 主从复制与切换

一、Redis 主从复制作用

作用:保证Redis的数据安全,提升应用服务高可用

二、网络环境

Redis 之 主从复制与切换

三、在从服务器设置同步

1、查看从Redis 服务器上现有的数据

[root@web01 redis]# ./redis-cli 
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> 

2、查看主Redis 服务器上现有的数据

[root@web02 redis]# ./redis-cli 
127.0.0.1:6379> keys *
 1) "5"
 2) "12"
 3) "3"
 4) "2"
 5) "7"
 6) "9"
 7) "1"
 8) "4"
 9) "10"
10) "6"
11) "8"
127.0.0.1:6379> 

3、此时我们在从库中配置与主库同步

[root@web01 redis]# service redis stop
Stopping ...
Redis stopped
[root@web01 redis]# vi redis.conf 

Redis 之 主从复制与切换

4、启动从库,并查看是否把主库的信息同步过来

[root@web01 redis]# service redis start
Starting Redis server...
[root@web01 redis]# ./redis-cli 
127.0.0.1:6379> keys *
 1) "5"
 2) "4"
 3) "10"
 4) "7"
 5) "3"
 6) "8"
 7) "9"
 8) "6"
 9) "1"
10) "12"
11) "2"
127.0.0.1:6379> 

5、在主库上添加一个新key,并同时查看从库是否同步成功。

二、如何把从库设置为主库

1、当主库发生故障时,我们需要把从库设置为主库,否则无法改或添加新的KEY

127.0.0.1:6379> set 14 aaaaaa
(error) READONLY You can't write against a read only slave.

2、把从库设置为主库

127.0.0.1:6379> set 14 aaaaaa          #当还是从库的时候,只能进行读,不能写
(error) READONLY You can't write against a read only slave.       #提示错误
127.0.0.1:6379> slaveof NO ONE      #当主库故障时,可在从库运行以下命令,进行权限提升为主库
OK
127.0.0.1:6379> set test aa
OK
127.0.0.1:6379> 

备注:提升为主库后,记得要把从库的配置文件slaveof 禁用注释

三、关于Redis的高可用自动切换思路

个人方案:使用Keepalived + Redis 主从配置的方法,使用Keepalived持载虚拟IP到主库上,同时添加Redis的守护进程,判断主库的Redis是否工作正常,如不正常,把Keepalived停止,同时漂移VIP到从库上,在从库的上的操作就是,添加一个守护进程,检查VIP是否在本机,如在本机,把从库提升为主库,或此步骤可手工操作,通过ZABBIX监控,发生故障时,手工立刻把从库提升为主库。

猜你喜欢

转载自blog.51cto.com/12965094/2159202
今日推荐