redis sentinel主從切換圖文實操
阿新 • • 發佈:2019-02-11
redis從2.8以上才有新增哨兵功能(sentinel)所以要這功能的需要2.8以上的版本才可以,下載地址:http://www.redis.cn/download.html
話不多說,直接實操給第一次搭主從機制的學友們看。
架構環境
系統:CentOS 6.5 64位
ip:192.168.18.136 (主)
ip:192.168.18.137 (從)
1.把下載完的redis包放進自己想要存放的目錄裡,並解壓它進行編譯
make test有可能報錯圖下的錯,只要安裝下tcl就解決了。#tar -zxvf redis-3.2.1.tar.gz #cd redis-3.2.1 #make #cd src #make test //測試是否有問題,如果報沒問題則編譯成功,一般不需要這一步,想看看的可以做這一步,
#yum install tcl* -y //執行完再make test就可以了。
2.完成以上操作之後,修改主redis.conf配置檔案,其餘引數按照需要修改即可。
bind 0.0.0.0 //可以任何IP連線 daemonize yes //後臺執行 pidfile /opt/redis-3.2.1/run/redis_6379.pid //服務執行的PID號,路徑可以自定義,不需要看的可以預設。 logfile "/opt/redis-3.2.1/log/redis.log" //redis日誌存放的地方,預設是沒有的,需要手動建立 dbfilename redis.rdb //rdb庫的名字,可以自定義,無需修改可以預設 dir /opt/redis-3.2.1/data/ //rdb庫存放的路徑
從的redis.conf跟主一樣,只修改slaveof。
bind 0.0.0.0
daemonize yes
pidfile /opt/redis-3.2.1/run/redis_6379.pid
logfile "/opt/redis-3.2.1/log/redis.log"
dbfilename redis.rdb
dir /opt/redis-3.2.1/data/
slaveof 192.168.18.136 6379 //主的ip地址及主redis埠。
3.啟動兩邊的redis
#./redis-server /opt/redis-3.2.1/redis.conf //啟動主的,再啟動從
4.檢視兩邊的狀態
主:
從
5.配置sentinel
#vim /opt/redis/sentinel.conf
sentinel monitor mymaster 192.168.18.136 6379 1
sentinel down-after-milliseconds mymaster1 5000
sentinel failover-timeout mymaster 900000
sentinel parallel-syncs master1 1
logfile "/opt/redis/log/sentinel.log" //手動新增生成日誌路徑
daemonize yes //手動新增後臺執行引數
protected-mode no //手動新增mode引數,不然哨兵叢集會連線不上,做單機的話就不需要配置這個
啟動哨兵
#./redis-sentinel /opt/redis/sentinel.conf //能看到已經加進來了
6.故障演示
把主服務給宕了
#./redis-cli -h 192.168.18.136 -p 6379 shutdown //表示把192.168.9.18這臺redis 關閉
這張圖片很清晰地反應到,redis sentinel 監控到主的redis服務停止,然後自動把從的redis切換到主。
當我們再啟動宕掉的那臺之後,你會發現它會自動變成從的。
至此主從機制就配置完成了。後面會補上哨兵叢集。