redis使用叢集部署,如果遇到斷電或伺服器重啟,當再次啟動的時候,有時會啟動不了。需要使用trib的fix指令進行修復。如果修復還是不行的話,可以清除節點資料再重新建集群,前提要備份之後操作。 (建議學習:Redis影片教學)
#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相關技術文章,請造訪Redis資料庫使用入門教學欄位學習!
以上是redis叢集如何解決重啟不了的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!