sszxf 发表于 2018-11-2 08:09:06

Redis 之 主从复制与切换

一、Redis 主从复制作用
  作用:保证Redis的数据安全,提升应用服务高可用

二、网络环境


三、在从服务器设置同步

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

# ./redis-cli  
127.0.0.1:6379> keys *
  
(empty list or set)
  
127.0.0.1:6379>
  

2、查看主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、此时我们在从库中配置与主库同步
  

# service redis stop  
Stopping ...
  
Redis stopped
  
# vi redis.conf
  



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

# service redis start  
Starting Redis server...
  
# ./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监控,发生故障时,手工立刻把从库提升为主库。


页: [1]
查看完整版本: Redis 之 主从复制与切换