Redis的哨兵模式Sentinel
sentinel功能
redis的sentinel系統用于管理多個redis服務器,該系統主要執行三個任務:監控、提醒、自動故障轉移。
1、監控(Monitoring): Redis Sentinel實時監控主服務器和從服務器運行狀態,并且實現自動切換
2、提醒(Notification):當被監控的某個 Redis 服務器出現問題時, Redis Sentinel 可以向系統管理員發送通知, 也可以通過 API 向其他程序發送通知。這個需要我們指定相關的代碼,比如發郵件、事務的處理等等
3、自動故障轉移(Automatic failover): 當一個主服務器不能正常工作時,Redis Sentinel 可以將一個從服務器升級為主服務器, 并對其他從服務器進行配置,讓它們使用新的主服務器。當應用程序連接Redis 服務器時, Redis Sentinel會告之新的主服務器地址和端口
注意:在使用sentinel監控主從節點的時候,從節點需要是使用動態方式配置的,如果直接修改配置文件,后期sentinel實現故障轉移的時候會出問題
主觀下線和客觀下線:
1、主觀下線狀態:當一個sentinel認為一個redis服務連接不上的時候,會給這個服務打個標記為下線狀態。
2、客觀下線狀態:當多個sentinel認為一個redids連接不上的時候,則認為這個redis服務確實下線了。這里的多個sentinel的個數可以在配置文件中設置。一般集群中一半的從節點都認為主機下線了,就進行主機選舉機制,選出新的主機節點
sentinel配置
- sentinel?monitor?mymaster?192.168.33.130?6379?2?????#最后一個參數視情況決定 ,一般為從節點數量的一半;最后一個參數為需要判定客觀下線所需的主觀下線sentinel個數,這個參數不可以大于sentinel個數
- 啟動sentinel? ??redis-sentinel?sentinel.conf
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會根據這個配置進行更新
具體操作
- 新建sentinel文件夾,在其下新建20190、20191、20192和scripts文件夾,在文件夾的名字也是其對應的端口名字,在端口名字文件夾下新建conf、data和logs文件夾
- mkdir sentinel
- mkdir -pv {20190,20191,20192}/{conf,data,logs}
- 啟動方式redis-server 20190/conf/sentinel.conf --sentinel
- 或者redis-sentinel 20190/cong]f/sentinel.conf
- 在sentinel文件夾下,此時此文件下存放的就是20190、20191和20192文件夾,使用命令cp 20190/conf/sentinel.conf 20191/conf完成conf文件的拷貝,使用命令sed -i "s/20190/20191/g" 20191/conf/sentinel.conf完成將20190替換為20191的文本替換,完成即可,別的不需要動,具體內容如下
- 在src目錄下,使用命令redis-sentinel /user/local/redis-4.0.14/sentinel/20190/conf/sentinel.conf啟動服務,20191和20192也是這樣操作
- 在src目錄下,使用命令redis-cli? -h 192.168.133.130 -p 20190,使用客戶端連接到服務器??
?
總結
以上是生活随笔為你收集整理的Redis的哨兵模式Sentinel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安踏运动鞋的价格是多少
- 下一篇: 酒精湿巾可以擦脸吗