Redis 主從複製之哨兵sentinel 學習

前言

之前學習配置redis 主從配置,但是在master redis服務停止之後,這時候沒有master
需要我們人工去修改配置文件。來重新設置master。因爲隨機性很強所以需要人工隨時監控。這樣帶來不便 所以有了sentinel
來監控redis 主從服務服務。

sentinel 配置文件

port 26389
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

配置說明:port 就是你哨兵服務的端口號 沒有具體 只要和其他端口號區分開來就可以。
sentinel monitor mymaster 127.0.0.1 6379 1:第一行配置指示 Sentinel 去監視一個名爲 mymaster 的主服務器, 這個主服務器的 IP 地址爲 127.0.0.1 , 端口號爲 6379 , 而將這個主服務器判斷爲失效至少需要 2 個 Sentinel 同意 (只要同意 Sentinel 的數量不達標,自動故障遷移就不會執行)。
sentinel down-after-milliseconds mymaster 60000:選項指定了 Sentinel 認爲服務器已經斷線所需的毫秒數
sentinel failover-timeout mymaster

  • 同一個sentinel對同一個master兩次failover之間的間隔時間。

  • 當一個slave從一個錯誤的master那裏同步數據開始計算時間。直到slave被糾正爲向正確的master那裏同步數據時。

  • 當想要取消一個正在進行的failover所需要的時間。

  • 當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置爲指向master,但是就不按parallel-syncs所配置的規則來了

sentinel parallel-syncs mymaster:這個配置項指定了在發生failover主備切換時最多可以有多少個slave同時對新的master進行 同步,這個數字越小,完成failover所需的時間就越長,但是如果這個數字越大,就意味着越 多的slave因爲replication而不可用。可以通過將這個值設爲 1 來保證每次只有一個slave 處於不能處理命令請求的狀態。

其他參考:http://redisdoc.com/topic/sentinel.html

驗證測試

  • 啓動redis-server 服務後檢查info
    在這裏插入圖片描述通過圖中發現master 就是6379

  • 再模擬宕機6379發現如圖
    在這裏插入圖片描述在這裏插入圖片描述
    在這裏插入圖片描述通過info 命令發現自動切換成功。

注意:

  • 可以通過配置加上密碼啓動redis-server配置文件也需要加,具體參考http://redisdoc.com/topic/sentinel.html — masterauth < master-password >
  • 也可以通過命令修改從服務被選舉成主服務的優先級。priority is 100 默認100
    越小越優先級高
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章