在redis的根目錄下,可以看到已經(jīng)有了一個sentinel.conf配置文件,直接修改之:
修改配置文件:
vim sentinel.conf
增加以下內(nèi)容:注意如有重復(fù)內(nèi)容需要去掉
綁定外網(wǎng)訪問權(quán)限D(zhuǎn)NS路由2.2.3 啟動哨兵
可以看到,129/130作為從節(jié)點已經(jīng)掛載到了128主節(jié)點下了
哨兵測試,將128shutdown,再看日志
主節(jié)點已經(jīng)變成了130了!128再次啟動,已經(jīng)不是主節(jié)點了:
bind 0.0.0.0
mymaster 主節(jié)點名,可以任意起名,但必須和后面的配置保持一致
2 為需要主服務(wù)器斷掉時需要2個sentinel同意(sentinel本身也可以集群)
sentinel monitor mymaster 192.168.223.128 6379 2
設(shè)置Sentinel認為服務(wù)器已經(jīng)斷線所需的毫秒數(shù)
sentinel down-after-milliseconds mymaster 10000
設(shè)置failover(故障轉(zhuǎn)移)的過期時間。當failover開始后,在此時間內(nèi)仍然沒有觸發(fā)任何failover
操作,當前 sentinel 會認為此次failover失敗
sentinel failover-timeout mymaster 60000
設(shè)置在執(zhí)行故障轉(zhuǎn)移時, 最多可以有多少個從服務(wù)器同時對新的主服務(wù)器進行同步, 這個數(shù)字越小,表示
同時進行同步的從服務(wù)器越少,那么完成故障轉(zhuǎn)移所需的時間就越長。
sentinel parallel-syncs mymaster 1
啟動
把三臺redis服務(wù)跑起來
./bin/redis-server redis.conf
再啟動哨兵進程,哨兵啟動需要使用redis-sentinel啟動腳本啟動
./bin/redis-sentinel sentinel.conf

2020-08-04_110122.png
總結(jié)
哨兵模式的優(yōu)缺點
優(yōu)點:
1、當Master節(jié)點掛掉時,會通過vote算法從Slave節(jié)點中選舉出一個新的節(jié)點作為Master節(jié)點繼續(xù)工
作
2、任何一個數(shù)據(jù)的增刪改都需要Master節(jié)點處理,能保障數(shù)據(jù)的強一致性,符合CAP定理中的CP原則
缺點
1.主從服務(wù)器的數(shù)據(jù)要經(jīng)常進行主從復(fù)制,這樣造成性能下降。
2.當主服務(wù)器宕機后,從服務(wù)器切換成主服務(wù)器的那段時間,服務(wù)是不可用的,降低了高可用性