Redis 之 主從復制與切換
阿新 • • 發佈:2018-08-13
eof oss erro 守護 方法 作用 err 數據 code 一、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
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監控,發生故障時,手工立刻把從庫提升為主庫。
Redis 之 主從復制與切換