在配置Sentinel集群模式之前請先閱讀這篇文章http://www.reibang.com/p/f260e5d97256請配置好主從模式之后在往下繼續(xù)
配置Sentinel
打開sentinel配置文件
vim /etc/sentinel.conf
找到以下命令并且修改為
daemonize yue
配置主節(jié)點的ip
sentinel monitor mymaster ip 端口 1
配置完成之后 在直接把文件復制到從節(jié)點中,就不需要再次修改了立轧!
先刪除從節(jié)點的sentinel配置
rm -fr /etc/sentinel.conf
使用scp命令分別拷貝到從服務器中
scp /etc/redis-sentinel.conf root@從服務器ip地址:/etc
啟動集群模式
請先分別運行Redis的集群模式
master節(jié)點運行
redis-server /etc/redis.conf
兩臺子節(jié)點運行
redis-server /etc/redis.conf --slaveof 主節(jié)點ip地址 端口
開啟Sentinel集群模式
分別在三臺服務器上運行以下命令即可
redis-sentinel /etc/redis.conf
運行成功之后 測試是否配置成功
1尚揣、查看當前master狀態(tài)
進入Master客戶端 查看狀態(tài)
info replication
從圖可以看出有兩個從節(jié)點已經(jīng)在運行中翠拣,表示已經(jīng)配置是沒問題了闸英!
2谆沃、測試Sentinel是否可用
關(guān)閉master節(jié)點運行的Redis钝凶,看Sentinel是否會自動選主
shutdown
查看子節(jié)點的狀態(tài)
info replication
由上圖可見 主節(jié)點Master已經(jīng)掛了,此時我們需要稍等Sentinel從子節(jié)點選擇一個新的Master作為主節(jié)點
大約等待30秒(之前我們配置的就是30秒)之后Sentinel認為master失效之后 就開始進行選舉了唁影!
從圖可以看出,sentinel已經(jīng)選舉成功
Sentinel配置說明
port
sentinel監(jiān)聽端口哟沫,默認是26379嗜诀,可以修改猾警。daemonize
是否以守護后臺模式運行 yes 是 | no 否monitor <master-name> <ip> <redis-port> <quorum>
告訴sentinel去監(jiān)聽地址為ip:port的一個master肿嘲,這里的master-name可以自定義雳窟,quorum是一個數(shù)字匣屡,指明當有多少個sentinel認為一個master失效時,master才算真正失效誉结。master-name只能包含英文字母惩坑,數(shù)字,和“.-_”這三個字符需要注意的是master-ip 要寫真實的ip地址而不要用回環(huán)地址(127.0.0.1)以舒。sentinel auth-pass <master-name> <password>
設(shè)置連接master和slave時的密碼蔓钟,注意的是sentinel不能分別為master和slave設(shè)置不同的密碼滥沫,因此master和slave的密碼應該設(shè)置相同键俱。sentinel down-after-milliseconds <master-name> <milliseconds>
這個配置項指定了需要多少失效時間,一個master才會被這個sentinel主觀地認為是不可用的狭魂。 單位是毫秒雌澄,默認為30秒entinel parallel-syncs <master-name> <numslaves>
這個配置項指定了在發(fā)生failover主備切換時最多可以有多少個slave同時對新的master進行 同步杯瞻,這個數(shù)字越小,完成failover所需的時間就越長睬涧,但是如果這個數(shù)字越大,就意味著越 多的slave因為replication而不可用痹束〉凰唬可以通過將這個值設(shè)為 1 來保證每次只有一個slave 處于不能處理命令請求的狀態(tài)。sentinel failover-timeout <master-name> <milliseconds>
告訴sentinel去監(jiān)聽地址為ip:port的一個master论巍,這里的master-name可以自定義嘉汰,quorum是一個數(shù)字鞋怀,指明當有多少個sentinel認為一個master失效時,master才算真正失效密似。master-name只能包含英文字母辛友,數(shù)字剪返,和“.-_”這三個字符需要注意的是master-ip 要寫真實的ip地址而不要用回環(huán)地址(127.0.0.1)脱盲。sentinel的notification-script和reconfig-script
是用來配置當某一事件發(fā)生時所需要執(zhí)行的腳本日缨,可以通過腳本來通知管理員,例如當系統(tǒng)運行不正常時發(fā)郵件通知相關(guān)人員面哥。對于腳本的運行結(jié)果有以下規(guī)則:
- 若腳本執(zhí)行后返回1尚卫,那么該腳本稍后將會被再次執(zhí)行尸红,重復次數(shù)目前默認為10
- 若腳本執(zhí)行后返回2,或者比2更高的一個返回值怎爵,腳本將不會重復執(zhí)行。
- 如果腳本在執(zhí)行過程中由于收到系統(tǒng)中斷信號被終止了姆蘸,則同返回值為1時的行為相同。
- 一個腳本的最大執(zhí)行時間為60s乞旦,如果超過這個時間兰粉,腳本將會被一個SIGKILL信號終止顶瞳,之后重新執(zhí)行慨菱。