1、上篇文章已經分享了redis主從服務構建,接下來分享Redis哨兵服務構建,基礎配置在上篇文章已經說過了,不明白的小伙伴可以翻看上篇文章Redis主從,因本文比較簡單,大神級可以飄過
2、之前已經啟動了redis的7001、7002端口,接下來在啟動一個7003端口構成一主兩從,拷貝7001配置文件到7003目錄下修改conf配置文件并啟動redis服務,并查看主從狀態
3、 配置sentinel.conf文件
1) 為了方便管理,創建sentinel文件夾并把sentinel.conf考入其中
2) port 26379 修改為 27001
3) 修改sentinel monitor mymaster 127.0.0.1 6379 2 為 sentinel monitor mymaster 192.168.12.131 7001 2
4) sentinel down-after-milliseconds mymaster 30000 改為 5000 單位都是毫秒
5) sentinel failover-timeout mymaster 180000 改為 60000
6) 分別啟動哨兵服務,命令如下
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27001.conf &
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27002.conf &
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27003.conf &
4、 驗證哨兵服務
1) 宕掉7001主庫redis-cli -h 192.168.12.131 -p 7001 shutdown觀察日志狀態
2) 從日志中可以看出Master切換為7003,在登錄7003客戶端查看主從狀態,此時7001已經下線了
3) 再次啟動7001觀察日志及主從狀態
4) 發現此時7001變為slave了,再次登錄7003客戶端查看主從狀態,同理宕掉Master7003也會發生切換,宕掉slave, Master不會發生變化,切換的前提是要在對應的redis下啟動哨兵服務
5) 在Master寫數據slave上查看同步狀態,發現2個slave數據都已同步
6)下篇文章會講解Redis cluster