天天看點

redis叢集手動切換主從

生産環境一個三主三從,其中一個主節點挂掉了,但是沒有自動切換到從節點
cluster-require-full-coverage預設為yes,當叢集中一段槽位的主從都不可用時,整個叢集不提供服務
直接導緻redis叢集不可以

解決辦法:手動将當機master節點的從節點提升為master
主節點端口為9001,從節點端口為9004
首先登陸從節點:
redis-cli -p 9004 -c
127.0.0.1:9004> CLUSTER FAILOVER
因為主節點當機狀态導緻切換失敗,需要強制切換
127.0.0.1:9004> CLUSTER FAILOVER force

如果執行報錯或者master連接配接不上,可以嘗試在指令後追加FORCE和TAKEOVER參數用于強制切換,FORCE需要多數masters同意,
TAKEOVER則不需要多數masters同意

附錄:
如果不小心登入成了主節點
redis-cli -p 9001 -c
127.0.0.1:9001> CLUSTER FAILOVER
會直接報錯:
(error) ERR You should send CLUSTER FAILOVER to a replica      

繼續閱讀