Redis 从复制中连同哨兵一起删除从属

gzc*_*gzc 4 replication redis

我有一个 3 节点 Redis 复制和一个 3 节点 Sentinel。我想移除一个奴隶。

我尝试停止从站并slaveof 10.128.130.139 6379从配置中删除。但是在我启动之后它又变成了奴隶。并slaveof再次回到配置中。

阅读SLAVEOF 后,我尝试调用SLAVEOF NO ONE. 但1分钟后它又变成了奴隶。

我猜 Sentinel 将它重新配置为 slave。在 Sentinel 存在的情况下,如何删除一个奴隶?

gzc*_*gzc 6

我应该仔细阅读哨兵文档。在添加或删除 Sentinels删除旧的 master 或无法访问的 slaves部分中提到了这一点。

这些是步骤:

  • 关闭要移除的redis slave。
  • slaveof从 conf 中删除语句

    # Generated by CONFIG REWRITE
    slaveof 10.128.130.139 6379
    
    Run Code Online (Sandbox Code Playgroud)
  • SENTINEL RESET mastername向所有 Sentinel 实例发送命令。一个接一个,实例之间至少等待 30 秒。

现在redis slave是独立的,哨兵忘记了这个slave。