【问题标题】:Get redis master sentinels获取 redis 主哨兵
【发布时间】:2017-09-06 11:26:48
【问题描述】:

我正在尝试获取当前正在监视 redis master 的所有哨兵的列表。

我知道如果我有一个哨兵,我可以使用sentinel sentinels mymaster,但如果我没有哨兵的任何地址,我该如何获得它们?

【问题讨论】:

    标签: redis redis-sentinel


    【解决方案1】:

    没有直接命令可以从主/从节点获取哨兵列表。要获取哨兵列表,您需要订阅任何节点的 pub/sub(主从无关)“__sentinel__:hello”频道并等待消息。通过该 hello 通道的消息来自正在侦听该集群的哨兵。如果你解析这些,你会得到哨兵的地址。消息的格式为:“sentinel_ip,sentinel_port,sentinel_runid,sentinel_current_epoch,master_name,master_ip,master_port,master_config_epoch”(例如 127.0.0.1,26380,07fabf3cbac43bcc955588b1023f95498b58f8f2,16,mymaster,127.0.请参阅:https://redis.io/topics/sentinel#sentinels-and-slaves-auto-discovery 了解哨兵详细信息。如果您需要了解更多关于 sentinel 的工作原理,请查看https://github.com/antirez/redis/blob/unstable/src/server.c

    【讨论】:

    • 到此为止,我希望有更优雅的东西,但我想现在必须这样做。谢谢!
    【解决方案2】:

    为了探索更多关于此实例的信息,您可能需要尝试以下两个命令:

    SENTINEL slaves mymaster
    SENTINEL sentinels mymaster
    

    https://redis.io/topics/sentinel#asking-sentinel-about-the-state-of-a-master

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      相关资源
      最近更新 更多