1. 程式人生 > >redis cluster 叢集 重啟 關閉

redis cluster 叢集 重啟 關閉

找遍了redis cluster官方文件,沒發現有關叢集重啟和關閉的方法。為啥會沒有呢,猜測redis cluster至少要三個節點才能執行,三臺同時掛掉的可能性比較小,只要不同時掛掉,掛掉的機器修復後在加入叢集,叢集都能良好的運作,萬一同時掛掉,資料又沒有備份的話,就有大麻煩了。

redis cluster叢集中的節點基本上都對等的,沒有管理節點。如果要讓所有節點都關閉,只能關閉程序了# pkill -9 redis

把所有叢集都關閉,然後在重新啟動,會報以下錯誤

  1. # redis-trib.rb create --replicas 1 xxx.xxx.xxx.xxx:6379等  

會報以下錯誤,

[ERR] Node 192.168.10.219:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

第一次啟動叢集時,/etc/redis下只有redis.conf,所以我想把除了redis.conf外的其他檔案全部刪除,在啟動肯定是可以的,但是叢集是有資料的,所以保留了配置檔案和資料檔案。

檢視複製列印?
  1. # cd /etc/redis       
  2. # rm -f *.aof nodes-63*  
  3. # ll     //保留了配置檔案和資料檔案
  4. 總用量 204  
  5. -rw-r--r-- 1 root root 18 5月 7 11:21 dump-6379.rdb  
  6. -rw-r--r-- 1 root root 18 5月 7 11:21 dump-6380.rdb  
  7. -rw-r--r-- 1 root root 18 5月 7 11:21 dump-6381.rdb  
  8. -rw-r--r-- 1 root root 41412 4月 30 23:30 redis-6379.conf  
  9. -rw-r--r-- 1 root root 41412 4月 30 23:39 redis-6380.conf  
  10. -rw-r--r-- 1 root root 41412 4月 30 23:39 redis-6381.conf  

這樣是可以啟動的,但是原來的資料還是丟失了,不知道是自己的想法不對,還是redis cluster根本沒考慮,所有節點都會掛掉的情況。