Redis sentinel搭建
Redis sentinel介紹
Redis 的 Sentinel 系統用於管理多個 Redis 伺服器(instance), 該系統執行以下三個任務:
·監控(Monitoring): Sentinel 會不斷地檢查你的主伺服器和從伺服器是否運作正常。
·提醒(Notification): 當被監控的某個 Redis 伺服器出現問題時, Sentinel 可以通過 API 向管理員或者其他應用程式傳送通知。
·自動故障遷移(Automatic failover): 當一個主伺服器不能正常工作時, Sentinel 會開始一次自動故障遷移操作, 它會將失效主伺服器的其中一個從伺服器升級為新的主伺服器, 並讓失效主伺服器的其他從伺服器改為複製新的主伺服器; 當客戶端試圖連線失效的主伺服器時, 叢集也會向客戶端返回新主伺服器的地址, 使得叢集可以使用新主伺服器代替失效伺服器。
Redis Sentinel 是一個分散式系統, 你可以在一個架構中執行多個 Sentinel 程式(progress), 這些程式使用流言協議(gossip protocols)來接收關於主伺服器是否下線的資訊, 並使用投票協議(agreement protocols)來決定是否執行自動故障遷移, 以及選擇哪個從伺服器作為新的主伺服器。
雖然 Redis Sentinel 釋出為一個單獨的可執行檔案 redis-sentinel , 但實際上它只是一個執行在特殊模式下的 Redis 伺服器, 你可以在啟動一個普通 Redis 伺服器時通過給定 –sentinel 選項來啟動 Redis Sentinel
-
redis sentinel的搭建
一,redis master-slave的搭建
1,搭建環境:
Redis:192.168.136.136(master)
Redis:192.168.136.137(slave)
Redis:192.168.136.138(slave)
Reidis架構一主兩從,搭建方法這裡不做介紹:
如下截圖,證明redis結構已經複製成功:
2,開始搭建sentinel
修改sentinel.conf配置檔案:
sentinel monitor mymaster 192.168.136.136 6379 2
每個節點需要監控192.168.225.128:6379這個主節點,2代表判斷主節點失敗至少需要2個sentinel節點同意,mymaster是主節點別名。
2這個值定義為幾的標準:一般建議將其設定為sentinel節點的一半加1
啟動sentinel:
redis-sentinel sentinel.conf &
##啟動介面可以看到sentinel版本號,程式號等等資訊。
二;sentinel監控redis主從故障轉移測試
##sentinel故障轉移測試,建議用2.8版本,之前用3.2版本測試不成功,可能這也說明sentinel後來沒有得到重視,畢竟現在主流在用 redis cluster
- redis master異常故障
Kill redis master 節點:
螢幕上會列印出相關日誌:
可以看出來redis master 已經切換的192.168.136.137節點了
恢復redis 192.168.136.136,同時主節點上會列印日誌,告訴說192.168.136.136加入到叢集:
檢查:如圖:
192.168.136.136:slave
192.168.136.137:master
192.168.136.138:slave
- 粗談sentinul.conf配置檔案
1、Port和dir
Port和dir分別代表sentinel節點的埠和工作目錄
2、Sentinel monitor
Sentinel monitor <master-name> <ip><port> <quorum>
sentinel節點會定期監控主節點,
<master-name> sentinel要監控的主節點的名稱
IP地址和埠為<ip><port>的主節點
<quorum>代表要判定主節點最終不可達所需要的票數
3、sentinel down-after-milliseconds
每個sentinel節點都要通過定期傳送ping命令來判斷redis資料節點和其餘sentinel節點是否可達,如果超過了該時間,則判定節點不可達。單位:毫秒
4、sentinel parallel-syncs <master-name> <numslaves>
Sentinel領導者節點做故障轉移操作,選出新的主節點,原來的從節點會向新的主節點發起復制操作,parallel-syncs就是用來限制在一次故障轉移之後,每次向新的主節點發起復制操作的從節點的個數。
parallel-syncs=3 3個從節點同時發起複製
parallel-syncs=1 一次只有一個從節點複製,從節點會輪詢發起複製
5、Sentinel failover-timeout
故障轉移超時時間,作用於各個階段。
A) 選出合適從節點
B) 晉升選出的從節點為主節點
C) 命令其餘從節點複製新的主節點
D) 等待原主節點恢復後命令它去複製新的主節點
6、Sentinel auth-pass <master-name> <password>
如果sentinel監控的主節點設定了密碼,sentinel通過以上命令新增主節點的密碼
相關文章
- Redis——SentinelRedis
- Redis哨兵sentinelRedis
- docker搭建redis叢集和Sentinel,實現故障轉移DockerRedis
- redis主從叢集搭建及容災部署(哨兵sentinel)Redis
- 【Redis】Sentinel 哨兵模式Redis模式
- Redis高可用 SentinelRedis
- 聊聊Redis sentinel 機制Redis
- Redis Sentinel哨兵模式部署Redis模式
- redis sentinel配置啟動Redis
- redis sentinel哨兵 例項Redis
- Redis Sentinel實現原理Redis
- Redis 哨兵高可用(Sentinel)Redis
- Redis sentinel主從切換Redis
- Redis服務之高可用元件sentinelRedis元件
- Redis Sentinel哨兵模式原理及配置Redis模式
- 玩轉Redis叢集之SentinelRedis
- 分散式Redis深度歷險-Sentinel分散式Redis
- redis的sentinel模式故障演練Redis模式
- Redis docker 主從模式與哨兵sentinelRedisDocker模式
- Redis基礎知識(學習筆記19--Redis Sentinel)Redis筆記
- Redis | 第12章 Sentinel 哨兵模式《Redis設計與實現》Redis模式
- Redis學習筆記(十六) Sentinel(哨兵)(下)Redis筆記
- windows redis sentinel listen: Unknown error解決方案WindowsRedisError
- Redis安裝之叢集-哨兵模式(sentinel)模式Redis模式
- redis sentinel哨兵模式安裝部署和切換Redis模式
- Redis Sentinel-深入淺出原理和實戰Redis
- Redis-3.2.1 sentinel安裝和配置小記Redis
- 用 docker 學習 redis 主從複製3 redis-sentinel(哨兵模式)DockerRedis模式
- Spring Cloud Alibaba(10)---Sentinel控制檯搭建+整合SpringCloudAlibabaSpringCloudGC
- SpringCloud之Sentinel高可用流量框架簡單搭建SpringGCCloud框架
- 第77篇 Redis中的Sentinel(哨兵模式)詳解Redis模式
- PHP 在redis-sentinel模式下的使用總結PHPRedis模式
- redis cluster 搭建Redis
- Redis 哨兵模式搭建Redis模式
- redis哨兵模式搭建Redis模式
- Redis主從搭建Redis
- redis叢集搭建Redis
- 搭建 Redis 叢集Redis