redis cluster 集群 重启 关闭

张映 发表于 2015-05-11

分类目录: nosql

标签:, , ,

找遍了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

4 条评论

  1. zhangxd 留言

    感觉redis 集群的设计思路不是很好,不如codis那么透明

  2. ggh 留言

    想问下楼主现在集群如何重启问题找到思路了吗?

  3. 游客 留言

    想问下楼主现在集群如何重启问题找到思路了吗?

  4. dnsurlgcc 留言

    shutdown 每个节点 然后启动每个节点 如果启用了rdb 或者aof 持久化的话 数据还是存在的 楼主执行的命令是重新创建集群