2017-10-09 99 views
0

我创建了一个Redis群集作为波纹管。Redis群集 - 从站不FAILOVER

xxx.xxx.xxx.195:9100 xxx.xxx.xxx.196:9100 xxx.xxx.xxx.197:9100 
xxx.xxx.xxx.195:9200 xxx.xxx.xxx.196:9200 xxx.xxx.xxx.197:9200 

我已经经历集群失败且无法修复的时候我停止2个Redis的实例,其是集群的主站(xxx.xxx.xxx.196的2个实例)在同一时间,

xxx.xxx.xxx.195:9100 (Master) xxx.xxx.xxx.196:9100 (Master) xxx.xxx.xxx.197:9100 (Slave) 
xxx.xxx.xxx.195:9200 (Slave)  xxx.xxx.xxx.196:9200 (Master) xxx.xxx.xxx.197:9200 (Slave) 

但同时如果我停止.195服务器的两个实例,其中9100 -Master9200 - Slave。集群恢复并正常工作

群集配置文件:

protected-mode no 
activerehashing yes 
cluster-enabled yes 
cluster-config-file /opt/redis/conf/nodes9100.conf 
cluster-slave-validity-factor 0 
cluster-node-timeout 5000 
appendonly yes 

Redis的记录在专用从属服务器:

28939:S 09 Oct 16:08:32.834 - 0 clients connected (0 slaves), 1327200 bytes in use 
28939:S 09 Oct 16:08:32.834 * Connecting to MASTER xxx.xxx.xxx.196:9200 
28939:S 09 Oct 16:08:32.835 * MASTER <-> SLAVE sync started 
28939:S 09 Oct 16:08:32.835 # Error condition on socket for SYNC: Connection refused 
28939:S 09 Oct 16:08:33.837 * Connecting to MASTER xxx.xxx.xxx.196:9200 
28939:S 09 Oct 16:08:33.837 * MASTER <-> SLAVE sync started 
28939:S 09 Oct 16:08:33.837 # Error condition on socket for SYNC: Connection refused 
28939:S 09 Oct 16:08:34.839 * Connecting to MASTER xxx.xxx.xxx.196:9200 
28939:S 09 Oct 16:08:34.839 * MASTER <-> SLAVE sync started 
28939:S 09 Oct 16:08:34.839 # Error condition on socket for SYNC: Connection refused 
28939:S 09 Oct 16:08:35.840 * Connecting to MASTER xxx.xxx.xxx.196:9200 
28939:S 09 Oct 16:08:35.840 * MASTER <-> SLAVE sync started 
28939:S 09 Oct 16:08:35.840 # Error condition on socket for SYNC: Connection refused 
28939:S 09 Oct 16:08:36.744 - Node 982d9b0a50b393d5fe604caefc0acaae68547648 reported node b57d59fb5685daeaac7e249d99fa257e9be66f4f as not reachable. 
28939:S 09 Oct 16:08:36.844 * Connecting to MASTER xxx.xxx.xxx.196:9200 
28939:S 09 Oct 16:08:36.844 * MASTER <-> SLAVE sync started 
28939:S 09 Oct 16:08:36.844 # Error condition on socket for SYNC: Connection refused 

回答

0

发现问题:
源:https://redis.io/topics/cluster-tutorial Redis的集群也提供了一定程度的的可用性,即在实际情况下能够在某些节点发生故障或无法通信时继续运行。但是,如果发生较大故障,集群将停止运行(例如,当大部分主站不可用时)。