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

  1、介紹:
    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)狀態的事件。    
     2、部署  
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.17一、192.168.1.17二、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.17二、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.17二、192.168.1.173上分別啓動sentinel
Redis-sentinel /etc/sentinel
這樣咱們的集羣就可使用了
   3、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會根據這個配置進行更新
相關文章
相關標籤/搜索