Redis群集主从 - 无法添加密钥

时间:2016-03-21 07:15:43

标签: redis

我已经设置了Redis主从配置,其中一个主设备(6379端口)和3个从设备(6380,6381,6382)在同一台机器上运行。看起来集群设置正确,因为我可以在运行info命令时看到以下输出:

# Replication
role:master
connected_slaves:3
slave0:ip=127.0.0.1,port=6380,state=online,offset=29,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=29,lag=1
slave2:ip=127.0.0.1,port=6382,state=online,offset=29,lag=1
master_repl_offset:43
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:42

但无论我在master中添加新密钥,我都会收到以下错误:

(error) CLUSTERDOWN Hash slot not served

在Mac OS X Yosemite中使用redis-3.0.7。

2 个答案:

答案 0 :(得分:1)

您可以使用带有redis的ruby脚本来创建群集,如下所述:

/usr/local/redis-3.2.11/src/redis-trib.rb create --replicas  1 192.168.142.128:7001  192.168.142.128:7002 192.168.142.128:7003  192.168.142.128:7004  192.168.142.128:7005 192.168.142.128:7006

答案 1 :(得分:0)

当一个或多个 Redis 节点损坏并且无法再为其配置的哈希槽提供服务时,就会出现问题。

您将不得不再次引导集群以确保节点就要服务的哈希槽达成一致。

如果 Redis 节点包含数据库 0 中的数据或键,您必须在重新运行引导程序之前清除这些数据。