Windows下搭建Redis哨兵集群模式的方法步驟
哨兵模式簡介
哨兵模式,是基于主從復制模式,主從復制的優(yōu)點全都擁有,并且主從可以實現(xiàn)自動切換,故障轉(zhuǎn)移等功能,系統(tǒng)的可用性更好,哨兵模式其實就是主從模式的升級版,手動到自動切換,更加健壯。
其缺點是不好在線擴容,集群容量如果達到上限,擴容麻煩
圖上則是一主二從三哨兵的架構(gòu)圖
最終搭建好的Redis Sentinel集群模式目錄是如下
6379端口是主節(jié)點,6380和6381端口是從節(jié)點,每個節(jié)點下都存在一個哨兵。
實現(xiàn)搭建
首先下載到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 # 設(shè)置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機后,同一時間同步數(shù)據(jù)的從機數(shù)量,此處代表重新選舉主機后,每次2臺從機同步主機數(shù)據(jù),直到所有從機同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時, 最多有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 # 設(shè)置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機后,同一時間同步數(shù)據(jù)的從機數(shù)量,此處代表重新選舉主機后,每次2臺從機同步主機數(shù)據(jù),直到所有從機同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時, 最多有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 # 設(shè)置主機的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機響應時間,此處代表5秒未響應視為宕機 sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機活動時間,此處代表15秒主機未活動,則重新選舉主機 sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機后,同一時間同步數(shù)據(jù)的從機數(shù)量,此處代表重新選舉主機后,每次2臺從機同步主機數(shù)據(jù),直到所有從機同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時, 最多有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關(guān)閉,模擬宕機的情況。
哨兵投票選舉出新的從節(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哨兵集群模式的方法步驟的詳細內(nèi)容,更多關(guān)于Windows搭建Redis哨兵集群的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實現(xiàn)
本文主要介紹了Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過程
這篇文章主要介紹了Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12redis通過redis-dump鏡像實現(xiàn)數(shù)據(jù)遷移
本文主要介紹了redis通過redis-dump鏡像實現(xiàn)數(shù)據(jù)遷移,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-04-04