redis-cli' sentinel slaves redis-cluster'返回一个带有密码保护的主文件

时间:2017-07-17 12:31:55

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

[Redis] [redis-db]'哨兵奴隶'返回一个带有密码保护的master的空列表。

亲爱的,

我目前的redis-cluster设置如下: 3种不同的Linux服务器

  • srv 1 => redis master + sentinel 1
  • srv 2 => redis奴隶+哨兵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

由于某些原因,哨兵无法找到合适的奴隶来推广"掌握"在故障转移的情况下。

redis-cli命令" sentinel奴隶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)是基础知识,我使用了身份验证。

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

提前致谢。 KR, Orsius。

文件:

这是我的哨兵日志:

. . .
`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`
. . .

如果我信任以下论坛,哨兵只会向新主人宣传好奴隶。 来源:https://github.com/antirez/redis/issues/1796

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

  • not slave-priority为0。
  • 不降级(这不是老主人。)
  • ping回复> info_validity_time
  • info reply> info_validate_time
  • 不是sdown,odown,断开连接。

1 个答案:

答案 0 :(得分:1)

我的问题实际上是我的redis-cluster文件(redis.conf& redis-sentinel.conf)中的错误配置,它在'standalone'mod中启动了我的两个redis实例。

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

希望有一天能帮助别人。

保持冷静并继续使用redis-cluster;) Orsius。

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