找遍了redis cluster官方文檔,沒發現有關集群重新啟動和關閉的方法。為啥會沒有呢,推測redis cluster至少要三個節點才干執行,三台同一時候掛掉的可能性比較小,僅僅要不同一時候掛掉。掛掉的機器修復后在增加集群,集群都能良好的運作,萬一同一時候掛掉,數據又沒有備份的話,就有大麻煩了。
redis cluster集群中的節點基本上都對等的,沒有管理節點。
假設要讓全部節點都關閉,僅僅能關閉進程了# pkill -9 redis
把全部集群都關閉,然后在又一次啟動,會報下面錯誤
# 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外的其它文件所有刪除,在啟動肯定是能夠的,可是集群是有數據的,所以保留了配置文件和數據文件。
# cd /etc/redis
# rm -f *.aof nodes-63*
# ll //保留了配置文件和數據文件
總用量 204
-rw-r--r-- 1 root root 18 5月 7 11:21 dump-6379.rdb
-rw-r--r-- 1 root root 18 5月 7 11:21 dump-6380.rdb
-rw-r--r-- 1 root root 18 5月 7 11:21 dump-6381.rdb
-rw-r--r-- 1 root root 41412 4月 30 23:30 redis-6379.conf
-rw-r--r-- 1 root root 41412 4月 30 23:39 redis-6380.conf
-rw-r--r-- 1 root root 41412 4月 30 23:39 redis-6381.conf
這樣是能夠啟動的。可是原來的數據還是丟失了,不知道是自己的想法不正確,還是redis cluster根本沒考慮,全部節點都會掛掉的情況。