Windows下搭建Redis哨兵集群模式的方法步驟
哨兵模式簡介
哨兵模式,是基于主從復制模式,主從復制的優(yōu)點全都擁有,并且主從可以實現自動切換,故障轉移等功能,系統(tǒng)的可用性更好,哨兵模式其實就是主從模式的升級版,手動到自動切換,更加健壯。
其缺點是不好在線擴容,集群容量如果達到上限,擴容麻煩

圖上則是一主二從三哨兵的架構圖
最終搭建好的Redis Sentinel集群模式目錄是如下

6379端口是主節(jié)點,6380和6381端口是從節(jié)點,每個節(jié)點下都存在一個哨兵。
實現搭建
首先下載到window系統(tǒng)redis安裝包(注意:版本必須在2.8以上,redis2.8版本之后的才支持redis sentinel集群模式)
復制出三份redis,文件夾分別以redis+端口號命名

主節(jié)點-6379-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6379.

創(chuàng)建哨兵,其次再新建一個sentinel.conf文件,將里面的port端口修改為26379
# 哨兵sentinel實例運行的端口 port 26379 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務器 后面的1表示主機掛掉以后進行投票,只需要2票就可以從機變主機 sentinel monitor mymaster 127.0.0.1 6379 2 # 設置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設置重新選舉主機后,同一時間同步數據的從機數量,此處代表重新選舉主機后,每次2臺從機同步主機數據,直到所有從機同步結束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉移時, 最多有2個從服務器同時對新的主服務器進行同步 sentinel leader-epoch mymaster 2
從節(jié)點-6380-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6380,并且大概在200行新增一個 slaveof 127.0.0.1 6379 ,監(jiān)聽主節(jié)點。


創(chuàng)建哨兵,其次再新建一個sentinel.conf文件,將里面的port端口修改為26380,其他配置不動
# 哨兵sentinel實例運行的端口 port 26380 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務器 后面的1表示主機掛掉以后進行投票,只需要2票就可以從機變主機 sentinel monitor mymaster 127.0.0.1 6379 2 # 設置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設置重新選舉主機后,同一時間同步數據的從機數量,此處代表重新選舉主機后,每次2臺從機同步主機數據,直到所有從機同步結束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉移時, 最多有2個從服務器同時對新的主服務器進行同步 sentinel leader-epoch mymaster 2
從節(jié)點-6381-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6381,并且大概在200行新增一個 slaveof 127.0.0.1 6379 ,監(jiān)聽主節(jié)點。


創(chuàng)建哨兵,其次再新建一個sentinel.conf文件,將里面的port端口修改為26381,其他配置不動
# 哨兵sentinel實例運行的端口 port 26381 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務器 后面的1表示主機掛掉以后進行投票,只需要2票就可以從機變主機 sentinel monitor mymaster 127.0.0.1 6379 2 # 設置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設置重新選舉主機后,同一時間同步數據的從機數量,此處代表重新選舉主機后,每次2臺從機同步主機數據,直到所有從機同步結束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉移時, 最多有2個從服務器同時對新的主服務器進行同步 sentinel leader-epoch mymaster 2
啟動哨兵
分別cd到三個文件夾目錄下打開cmd窗口,使用 redis-server.exe ./redis.windows.conf 啟動三個主從redis服務



等三個redis服務啟動成功之后,接著使用 redis-server.exe ./sentinel.conf --sentinel 啟動三個哨兵



查詢當前節(jié)點是否主節(jié)點
cd進入當前redis目錄下cmd開啟黑窗口, redis-cli.exe -h 127.0.0.1 -p 6379 登錄redis客戶端
命令 info replication 查看

查看哨兵的狀態(tài)
命令 redis-cli.exe -p 26379 進入客戶端
命令 info sentinel 查看
可以看出sentinel狀態(tài)正常,能夠檢測到redis的2個從節(jié)點,3個哨兵


宕機測試
將6379端口的主節(jié)點redis關閉,模擬宕機的情況。
哨兵投票選舉出新的從節(jié)點升為主節(jié)點。

當6379重新啟動之后,自動降為從節(jié)點

SpringBoot集成Redis哨兵模式
maven配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>spring:
redis:
password: xxx
database: 0
sentinel:
password: xxx
master: mymaster
nodes:
- 127.0.0.1:26379
- 127.0.0.1:26380
- 127.0.0.1:26381
lettuce:
pool:
min-idle: 3
max-idle: 8
max-active: 15
max-wait: 10000以上就是Windows下搭建Redis哨兵集群模式的方法步驟的詳細內容,更多關于Windows搭建Redis哨兵集群的資料請關注腳本之家其它相關文章!
相關文章
Redis序列化設置以及jetcache連接Redis序列化的設置過程
這篇文章主要介紹了Redis序列化設置以及jetcache連接Redis序列化的設置過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

