一.常用命令
sentinel的基本狀態信息INFO
列出所有被監視的主服務器,以及這些主服務器的當前狀態SENTINEL masters
列出指定主redis的從節點狀態情況SENTINEL slaves <master-name>
列出指定主redis的監控哨兵信息,不包含他自己SENTINEL sentinels <master-name>
返回給定名字的主服務器的 IP 地址和端口號SENTINEL get-master-addr-by-name <master-name>
重置所有名字和給定模式 pattern 相匹配的主服務器。重置操作清除主服務器目前的所有狀態,包括正在執行中的故障轉移,並移除目前已經發現和關聯的,主服務器的所有從服務器和 Sentinel 。SENTINEL <master-name>
當主服務器失效時 在不詢問其他 Sentinel 意見的情況下,強制開始一次自動故障遷移,但是它會給其他sentinel發送一個最新的配置,其他sentinel會根據這個配置進行更新SENTINEL failover <master-name>
檢查當前在線的哨兵節點。如果一共有5個節點,設置4票,但檢查后只有3節點在線,那一直無法進行監控切換sentinel ckquorum <master-name>
將配置強制刷新到本地文件sentinel flushconfig
取消當前哨兵對某主節點的監控sentinel remove <master name>
二.配置文件
#<master-name>是主節點的名稱,也就是可以同時監控多組主從 #主節點的地址和端口 #quorum是票數,需要幾個哨兵節點認為有問題才進行操作 sentinel monitor <master-name> <ip> <port> <quorum> #哨兵每隔一段時間就檢測主節點是否存活,當超過<times>指定的時間,則認為主節點死掉 #雖然看似是對主控制,其實對從節點,其他哨兵節點也是這個參數控制 #默認30000,單位毫秒 sentinel down-after-milliseconds <master-name> <times> #當主節點掛掉,新的主節點接替時,從節點會向新的主節點發起復制操作。這個參數控制同時發起復制操作的從節點個數。 #如果有一個新主,3個從,而<nums>設置為1。從節點會輪詢復制 sentinel parallel-syncs <master-name> <nums> #選出合適從節點,切換從為主,讓其他從復制新主,讓上線的壞主復制新主 #以上4部每個階段故障時間超過<times>則認為失敗 sentinel failover-timeout <master-name> <times> #如果主節點有密碼,需要配置密碼,防止無法獲取主節點信息 sentinel auth-pass <master-name> <password> #當有重要事件,例如客觀下線,主觀下線時,將執行指定的腳本,並將一些相關參數傳進去,可以發送郵件來通知 sentinel notification-script <master-name> <script-path> #當故障轉移結束后觸發的腳本,並將一些相關參數傳進去 sentinel client-reconfig-script <master-name> <script-path> #腳本必須可以執行,開頭必須有 #!/bin/bash 腳本頭 #腳本最大執行時間不能超過一分鍾,超過將殺死腳本 #如果shell腳本以exit 1結束,那么腳本稍后重試執行。如果以exit 2或者更高的值結束,那么腳本不會重試。正常返回值是exit 0 #腳本將傳入如下參數 #<master-name> 主節點名稱 #<role> 當前哨兵的角色是leader還是observer #<state> 狀態,是關閉還是啟動 #<from-ip> 原主節點的ip #<from-port> 原主節點的端口 #<to-ip> 新主節點的ip #<to-port> 新主節點的端口
