redis的哨兵Sentinel

redis學習筆記---redis的哨兵Sentinel


  一、介紹:
    redis的sentinel系統用來管理多個redis服務器,可以實現一個功能上實現HA的集羣。該系統主要執行三個任務:
    ①監控( Monitoring ): Redis Sentinel實時監控主服務器和從服務器運行狀態。
    ②提醒(notification): 當被監控的某個 Redis 服務器出現問題時, Redis Sentinel 可以向系統管理員發送通知, 也可以通過 API 向其他程序發送通知 
    ③自動故障轉移( Automatic failover ): : 當一個主服務器不能正常工作時,Redis Sentinel 可以將一個從服務器升級爲主服務器, 並對其他從服務器進行配置,讓它們使用新的主服務器。當應用程序連接Redis 服務器時, Redis Sentinel會告之新的主服務器地址和端口。
    一個簡單的主從結構加sentinel集羣的架構圖如下: 
      
    上圖是一主一從節點,加上兩個部署了sentinel的集羣,sentinel集羣之間會互相通信,溝通交流redis節點的狀態,做出相應的判斷並進行處理,這裏的主觀下線狀態和客觀下線狀態是比較重要的狀態,它們決定了是否進行故障轉移 
    可以 通過訂閱指定的頻道信息,當服務器出現故障得時候通知管理員
    客戶端可以將 Sentinel 看作是一個只提供了訂閱功能的 Redis 服務器,你不可以使用 PUBLISH 命令向這個服務器發送信息,但你可以用 SUBSCRIBE 命令或者 PSUBSCRIBE 命令, 通過訂閱給定的頻道來獲取相應的事件提醒。
    一個頻道能夠接收和這個頻道的名字相同的事件。 比如說, 名爲 +sdown 的頻道就可以接收所有實例進入主觀下線(SDOWN)狀態的事件。    
     二、部署  
Redis的sentinel系統可以監控主從節點,並且實現自動切換
注意:在使用sentinel監控主從節點的時候,從節點需要是使用動態方式配置的,如果直接修改配置文件,後期sentinel實現故障轉移的時候會出問題。
 
節點如下:
redis主節點:192.168.1.170
redis從節點:192.168.1.171(可以有多個)
 
Sentinel節點:192.168.1.172    192.168.1.173
 
部署步驟:
1:192.168.1.170、192.168.1.171、192.168.1.172、192.168.1.173,在這四個節點上解壓redis-3.0壓縮包
 
2:在這四個節點上對redis進行編譯,安裝。
 
3:修改192.168.1.170、192.168.1.171上的redis.conf文件中的下面屬性
daemonize yes
logfile "/usr/local/redis-3.0.0/log"
 
4:修改192.168.1.172、192.168.1.173上的sentinel.conf文件中的下面屬性
sentinel monitor mymaster 192.168.1.170 6379 2
5:啓動redis和sentinel
在192.168.1.170和192.168.1.171上分別啓動reids
Redis-server //etc/redis.conf
在192.168.1.171上使用動態方式設置主節點信息
Redis-cli
slaveof 192.168.1.170 6379
在192.168.1.172、192.168.1.173上分別啓動sentinel
Redis-sentinel /etc/sentinel
這樣我們的集羣就可以使用了
   三、sentinel的一些命令 
     ① INFO
    sentinel的基本狀態信息
    ②SENTINEL masters
    列出所有被監視的主服務器,以及這些主服務器的當前狀態
    ③ SENTINEL slaves <master name>
    列出給定主服務器的所有從服務器,以及這些從服務器的當前狀態
    ④SENTINEL get-master-addr-by-name <master name>
    返回給定名字的主服務器的 IP 地址和端口號
    ⑤SENTINEL reset <pattern>
    重置所有名字和給定模式 pattern 相匹配的主服務器。重置操作清除主服務器目前的所有狀態, 包括正在執行中的故障轉移, 並移除目前已經發現和關聯的, 主服務器的所有從服務器和 Sentinel 。
    ⑥SENTINEL failover <master name>
    當主服務器失效時, 在不詢問其他 Sentinel 意見的情況下, 強制開始一次自動故障遷移,但是它會給其他sentinel發送一個最新的配置,其他sentinel會根據這個配置進行更新
發佈了11 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章