找遍了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根本没考虑,所有节点都会挂掉的情况。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/nosql/1735.html
感觉redis 集群的设计思路不是很好,不如codis那么透明
想问下楼主现在集群如何重启问题找到思路了吗?
想问下楼主现在集群如何重启问题找到思路了吗?
shutdown 每个节点 然后启动每个节点 如果启用了rdb 或者aof 持久化的话 数据还是存在的 楼主执行的命令是重新创建集群