Redis學習三:redis的sentinel使用

Redis學習三:redis的sentinel使用

標籤(空格分隔): Redis


一,手動修改

運行時更改master-slave
修改一臺slave(設爲A)爲new master
1) 命令該服務不做其他redis服務的slave
命令: slaveof no one
2) 修改其readonly爲yes

其他的slave再指向new master A
1) 命令該服務爲new master A的slave
命令格式 slaveof IP port

二,sentinel監控

001.PNG-45.4kB

Sentinel不斷與master通信,獲取master的slave信息.
監聽master與slave的狀態
如果某slave失效,直接通知master去除該slave.

如果master失效,,是按照slave優先級(可配置), 選取1個slave做 new master
,把其他slave–> new master

疑問: sentinel與master通信,如果某次因爲master IO操作頻繁,導致超時,
此時,認爲master失效,很武斷.
解決: sentnel允許多個實例看守1個master, 當N臺(N可設置)sentinel都認爲master失效,才正式失效.

Sentinel選項配置
port 26379 # 端口
sentinel monitor mymaster 127.0.0.1 6379 2 ,
給主機起的名字(不重即可),
當2個sentinel實例都認爲master失效時,正式失效

sentinel down-after-milliseconds mymaster 30000 多少毫秒後連接不到master認爲斷開
sentinel can-failover mymaster yes #是否允許sentinel修改slave->master. 如爲no,則只能監控,無權修改./
sentinel parallel-syncs mymaster 1 , 一次性修改幾個slave指向新的new master.
sentinel client-reconfig-script mymaster /var/redis/reconfig.sh ,# 在重新配置new master,new slave過程,可以觸發的腳本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章