【问题标题】:Redis cluster master slave - not able to add keyRedis集群主从 - 无法添加密钥
【发布时间】:2016-07-07 14:37:50
【问题描述】:

我已经设置了 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。

【问题讨论】:

  • 运行 redis-cli -p 6379 cluster nodes 时会得到什么? ,它接缝其中一个哈希槽没有分配,这使得整个集群宕机。
  • 你解决过这个问题吗?

标签: redis


【解决方案1】:

我遇到了同样的问题,结果我忘了运行create 集群:

cd /path/to/utils/create-cluster 
./create-cluster create

http://redis.io/topics/cluster-tutorial#creating-a-redis-cluster-using-the-create-cluster-script

【讨论】:

    【解决方案2】:

    您可以使用与 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
    

    【讨论】:

      【解决方案3】:

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

      您必须再次引导集群以确保节点同意要服务的哈希槽。

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

      【讨论】:

        【解决方案4】:

        有一个哈希槽没有分配给任何主机。通过查看以下命令输出中的第 9 列来检查哈希槽(如果该节点没有哈希槽,则第 9 列将为空):

        redis-cli -h masterIP -p masterPORT CLUSTER NODES
        

        可以使用以下命令分配哈希槽。

        redis-cli -h masterIP -p masterPORT CLUSTER ADDSLOTS SLOTNNUMBER
        

        但这必须为每个插槽号单独完成,不能丢失。使用 bat 脚本将其包含在 for 循环中。类似的,

        for /L %a in (0,1,5400) Do redis-cli -h 127.0.0.1 -p 7001  cluster addslots %a
        

        此外,此命令在将从属分配给主控之前有效。在此 ADDSLOTS 步骤并完成设置之后,SET 和 GET 工作正常。记得在 SET 之前使用 -c 和 redis-cli 来启用集群支持

        【讨论】:

          【解决方案5】:

          解决插入时的插槽问题:

          redis-cli --cluster fix localhost:6379
          

          【讨论】:

            猜你喜欢
            • 2022-11-03
            • 1970-01-01
            • 1970-01-01
            • 2020-05-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-03
            • 1970-01-01
            相关资源
            最近更新 更多