redis-cli 'sentinel slaves redis-cluster' 返回一个带有密码保护主控的空列表

标签 redis redis-sentinel redis-cluster redis-cli

[Redis] [redis-db] 'sentinel slaves ' 返回一个带有密码保护的主节点的空列表。

亲爱的,

我当前的 redis-cluster 设置如下: 3个不同的linux服务器

  • srv 1 => redis master + sentinel 1
  • srv 2 => redis slaves + sentinel 2
  • srv 3 => 哨兵 3(哨兵只是为了避免脑裂情况)

redis版本

redis_version:3.2.3
redis_mode:sentinel
os:Linux 3.10.0-514.21.2.el7.x86_64 x86_64
tcp_port:26379

出于某种原因,sentinel 在发生故障转移时找不到合适的 slave 来提升“master”。

redis-cli 命令“sentinel slaves redis-cluster”返回一个空列表:/(请参阅下面我的终端输出)但是 3 个哨兵可以相互“交谈”

我用来获取这些信息的 3 个 redis-cli sentinel 命令:

ip-10-0-0-118.eu-west-1.compute.internal:26379> sentinel slaves redis-cluster
(empty list or set)
ip-10-0-0-118.eu-west-1.compute.internal:26379> sentinel ckquorum redis-cluster
OK 3 usable Sentinels. Quorum and failover authorization can be reached
ip-10-0-0-118.eu-west-1.compute.internal:26379> sentinel failover redis-cluster
(error) NOGOODSLAVE No suitable slave to promote

配置文件(redis 和 sentinel)是基础,我使用了身份验证。

知道我会错误配置什么吗?至今? :/

提前致谢。 克, 奥修斯。

文档:

这是我的哨兵日志:

. . .
`2361:X 17 Jul 09:20:55.159 # 04ffbe62cec24e9635abbf8985c804e27bb8899b voted for 2cd4dce89889baadc178ba8909b894cf42f184d9 23
2361:X 17 Jul 09:20:55.170 # f5e93cc7c1a109ca8aa4588b92156f7fb5c29c72 voted for 2cd4dce89889baadc178ba8909b894cf42f184d9 23
2361:X 17 Jul 09:20:55.221 # +elected-leader master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:20:55.221 # +failover-state-select-slave master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:20:55.304 # -failover-abort-no-good-slave master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:20:55.357 # Next failover delay: I will not start a failover before Mon Jul 17 09:26:55 2017
2361:X 17 Jul 09:21:41.876 # +new-epoch 24
2361:X 17 Jul 09:21:41.878 # +vote-for-leader f5e93cc7c1a109ca8aa4588b92156f7fb5c29c72 24
2361:X 17 Jul 09:21:41.920 # Next failover delay: I will not start a failover before Mon Jul 17 09:27:42 2017
2361:X 17 Jul 09:27:42.092 # +new-epoch 25
2361:X 17 Jul 09:27:42.092 # +try-failover master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:27:42.099 # +vote-for-leader 2cd4dce89889baadc178ba8909b894cf42f184d9 25
2361:X 17 Jul 09:27:42.102 # f5e93cc7c1a109ca8aa4588b92156f7fb5c29c72 voted for 2cd4dce89889baadc178ba8909b894cf42f184d9 25
2361:X 17 Jul 09:27:42.103 # 04ffbe62cec24e9635abbf8985c804e27bb8899b voted for 2cd4dce89889baadc178ba8909b894cf42f184d9 25
2361:X 17 Jul 09:27:42.165 # +elected-leader master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:27:42.165 # +failover-state-select-slave master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:27:42.248 # -failover-abort-no-good-slave master redis-cluster 10.0.0.223 6379
2361:X 17 Jul 09:27:42.314 # Next failover delay: I will not start a failover before Mon Jul 17 09:33:42 2017`
. . .

如果我信任以下论坛,sentinel 只会将好的奴隶提升为新主人。 来源:https://github.com/antirez/redis/issues/1796

一些奴隶可以成为遵守以下规则的好奴隶。

  • not slave-priority 为 0.
  • 不降级(不是老主子。)
  • ping 回复 > info_validity_time
  • 信息回复 > info_validate_time
  • 不停机,不停机,断开连接。

最佳答案

我的问题实际上是我的 redis-cluster 文件(redis.conf 和 redis-sentinel.conf)配置错误,它在“独立”模式中启动了我的两个 redis 实例。

我将工作配置放在我的 github 存储库中:[github.com/orsius/redis-cluster][1]

希望有一天它能对某人有所帮助。

保持冷静,继续使用redis-cluster;) 奥修斯。

[1]:https://github.com/orsius/redis-cluster

关于redis-cli 'sentinel slaves redis-cluster' 返回一个带有密码保护主控的空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45144388/

相关文章:

php - 通过Redis Hash存储和查找

docker - Kubernetes "Waiting for the cluster to join..."搭建Redis集群时ip错误

redis - 使用 redis 哨兵时,如何使用密码保护主节点和副本节点?

node.js - 在哪里运行 redis -sentinel

redis - :Redis Replicated setup, Redis Cluster setup Redis Sentinel setup 和 Redis with Master with Slave only 有什么区别?[REDISSON]

transactions - 是否有支持 Redis 集群上事务的 Redis 客户端(首选 Java)?

Web 界面中的 Redis 数据库转储?

redis - 在 Redis 的单个命令中使用带 TTL 的 RPUSH

mongodb - MongoDB和Redis有什么区别?

docker - redis master 看不到 slave