Redis的sentinel機制(sentinel節點IP為:192.168.23.10) “哨兵”


    • 萬一主節點打擊,主從模型將會停止工作,為了解決這個問題,Redis提供了一個sentinel(哨兵),以此來實現主從切換的功能,一旦主節點宕機了,sentinel將會在從節點中挑一個作為主節點。與zookeeper類似
  • 編輯/etc/redis-sentinel.conf文件
1: mymaster指定主節點的主機名(可以隨便取一個名),127.0.0.1 6379:指明主節點的IP和端口,2:表示一個節點要成為主節點必須擁有的票數,這里默認是2,因此最好啟動2個以上centinel進程。這個指令可以寫多個,表明sentinel可以監控多個Redis主從架構。這里改為1,啟動centinel進程演示
sentinel monitor mymaster 192.168.23.10 6379 1
 
2:指明主節點多少秒聯系不上,認定主服務器宕機,默認30000毫秒
sentinel down-after-milliseconds mymaster 3000
 
3:從新指定主服務器后,允許幾台從服務器去主服務器同步數據
sentinel parallel-syncs mymaster 1
 
4:指定故障轉移的超時時長,如果180000毫秒,無法在從服務器選擇主服務器,則故障轉移失敗
sentinel failover-timeout mymaster 18000
 
5: 指定與master通信的密碼
sentinel auth-pass mymaster 123456
  • 啟動systemctl
systemctl start redis-sentinel.service
  • 登入Sentinel,查看主從狀態
redis- cli -p 26379
 
127.0.0.1:26379> info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.23.10:6379,slaves=2,sentinels=1
  • 停止Redis的master節點,登入sentinel查看節點信息(此時的主節點已經是192.168.23.12了)
systemctl stop redis.service
 
[root @7 ~]# redis-cli -p 26379
127.0.0.1:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.23.12:6379,slaves=2,sentinels=1
 
127.0.0.1:26379> sentinel masters


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM