为什么Redis服务器不允许我连接到一个节点?

4
在src目录下,我正在运行以下命令。
/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

但是出现以下错误。
Creating cluster
[ERR] Sorry, can't connect to node 127.0.0.1:7000

然而,如果我使用命令redis-server redis.conf在7000端口启动节点,其中redis.conf的内容如下:
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 10
cluster-slave-validity-factor 0
appendonly yes

同样地,我成功地在所有端口上启动了redis

现在当我运行时

/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

我又遇到一个错误。
Creating cluster [ERR] Node 127.0.0.1:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

请帮忙。
2个回答

20

第一个错误是因为redis-trib create在创建集群时尝试连接到redis实例,但是您没有在127.0.0.1:7000运行任何redis实例。

第二个错误似乎是您启动了redis实例,但是现在无法创建集群,因为您在收到第一个错误消息之前已经尝试在节点7000上创建集群(可能为您的节点分配了插槽)。要清除该节点,请运行

$redis-cli -p 7000
127.0.0.1:7000> flushall
127.0.0.1:7000> cluster reset
127.0.0.1:7000> exit

那么你的 redis-trib create 就会起作用。


1

按照以下步骤执行: 停止 -> 清理 -> 启动 -> 创建 服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接