1. 程式人生 > >【轉】redis集群如何解決重啟不了的問題

【轉】redis集群如何解決重啟不了的問題

節點數 nbsp 如何 class nodes cluster 中一 aof ext

redis使用集群部署,如果遇到斷電或者服務器重啟,當再次啟動的時候,有時候會啟動不了。需要使用trib的fix命令進行修復。如果修復還是不行的話,可以清除節點數據再重新建集群,前提要備份之後操作。

1.使用redis-cli連接上redis其中一臺

redis-cli -c -h xxx -p 7001

輸入cluster info查看當前集群的狀態

技術分享圖片

2.可以使用trib的check檢測的集群狀態

redis-trib.rb check xxx:7001

[ERR] Not all 16384 slots are covered by nodes.

技術分享圖片

3.如果出現以上的錯誤,可以嘗試使用fix命令修復

redis-trib.rb fix xxx:7001

修復完成之後,在使用trib的check命令查看狀態

技術分享圖片

4.如果通過fix方式修復不了

pkill redis停止之前的redis進程

然後把aof,rdb,nodes節點文件刪除,刪除之前需要備份

技術分享圖片

5.

然後啟動各個redis節點

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7000/redis.conf

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7001/redis.conf

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7002/redis.conf

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7003/redis.conf

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7004/redis.conf

redis-server /usr/local/src/redis-3.2.4/redis_cluster/7005/redis.conf

技術分享圖片

6.創建redis集群

redis-trib.rb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 xxx:7003 xxx:7004 xxx:7005

技術分享圖片

7.集群創建完成之後,再次連接redis查看集群狀態,如圖可以看到3主3從的redis服務已經啟動完成

redis-cli -c -h xxx -p 7000

cluster info

cluster nodes

技術分享圖片

【轉】redis集群如何解決重啟不了的問題