1.伺服器規劃(示例)
伺服器: (要求redis主從能使用的記憶體容量一緻,并且均配置maxmemory)
192.168.127.8 redis-7003 主節點 redis-sentinel-7013 redis哨兵1
192.168.127.7 redis-7002 主節點 redis-sentinel-7012 redis哨兵2
192.168.127.6 redis-sentinel-7011 redis哨兵3
說明:當主節點下線後,三個哨兵并投票決定誰是leader,2個以上的哨兵認為主節點下線了(主觀下線),leader會去做故障轉移的工作
問題:1.當進行了一次主從切換後,隻有一個reids節點還在運作,如果需要再次切換主從,需要把原來當機的redis節點啟動起來
2.主從節點切換後,用戶端需要切換請求的IP位址,jedis用戶端無法實作IP位址的轉換,使用原來的jedis用戶端就無法正常通路,需要使用 sharded-jedis-sentinel-pool
2.在一台機器上安裝redis
3.複制redis安裝後的檔案夾到其它機器,并重命名為redis-${port}
4.在各台機器上複制一個redis安裝檔案夾 , 并重命名為redis-sentinel-${port}
5.配置redis主節點
|
6.配置redis從節點
|
7.配置redis哨兵節點(有三個哨兵,配置僅僅是端口不同,這裡隻配置一個作為示例)
|
8.啟動redis主節點
bin/redis-server conf/redis-7003.conf
9.啟動redis從節點
bin/redis-server conf/redis-7002.conf
10.啟動redis哨兵節點
bin/redis-sentinel conf/redis-7013.conf
bin/redis-sentinel conf/redis-7012.conf
bin/redis-sentinel conf/redis-7011.conf
11.在主節點和從節點觀察主從狀态(目前主節點有一個從節點 192.128.127.7:7002)
在主節點檢視
|
在從節點檢視(目前從節點有一個主節點 192.128.127.8:7003)
|
12.将主節點下線,觀察自動故障轉移的過程
檢視sentinel的日志會發現有一句日志,顯示主從節點切換的情況
|
在從節點查詢info replication,發現原來的從節點變成了主節點,沒有從節點
|