47

如何从命令行 (redis-cli) 了解 redis 的状态?主从

4

2 回答 2

70

INFO 命令返回当前角色。

例如/如果我们是主人

role:master

将显示,除其他细节。

如果我们切换到一个奴隶,也许通过使用slaveof

slaveof 192.168.1.66 6379

当我们运行 INFO 时,我们会得到更多:

role:slave
master_host:192.168.1.66
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
master_link_down_since_seconds:1341313174

编辑:这是一个简洁的 cli 命令,如 Linus 所示(但他刚刚删除了他的帖子):

redis-cli info | grep ^role

:)

于 2012-07-03T11:03:34.850 回答
7

我想通过在分布式设置中提供状态含义来扩展上面的答案

# get sentinel / redis instance role of remote host:
› redis-cli -h redis-02.a_slave -p 6379 info|grep role 
role:slave

# get sentinel status of remote host:
› redis-cli -h redis-01.a_sentinel -p 26379 info|grep status
master0:name=mymaster,status=ok,address=172.xx.xxx.xx:6379,slaves=2,sentinels=3    

状态

http://redis.io/topics/sentinel#pubsub-messages

  • +reset-master <instance details>-- 主站被重置。
  • +slave <instance details>-- 检测到并连接了一个新的从站。
  • +failover-state-reconf-slaves <instance details>-- 故障转移状态更改为 reconf-slaves 状态。
  • +failover-detected <instance details>-- 检测到由另一个 Sentinel 或任何其他外部实体启动的故障转移(连接的从属变为主控)。
  • +slave-reconf-sent <instance details>-- 领导者哨兵向这个实例发送了 SLAVEOF 命令,以便为新的从属重新配置它。
  • +slave-reconf-inprog <instance details>-- 重新配置的从站显示为新主站 ip:port 对的从站,但同步过程尚未完成。
  • +slave-reconf-done <instance details>-- 从站现在与新的主站同步。
  • -dup-sentinel <instance details>-- 指定主服务器的一个或多个哨兵被删除为重复(例如,当哨兵实例重新启动时会发生这种情况)。
  • +sentinel <instance details>-- 检测到并附加了该主人的新哨兵。
  • +sdown <instance details>-- 指定的实例现在处于主观关闭状态。
  • -sdown <instance details>-- 指定的实例不再处于主观关闭状态。
  • +odown <instance details>-- 指定的实例现在处于 Objectively Down 状态。
  • -odown <instance details>-- 指定的实例不再处于 Objectively Down 状态。
  • +new-epoch <instance details>-- 当前纪元已更新。
  • +try-failover <instance details>-- 新的故障转移正在进行中,等待多数人选举。
  • +elected-leader <instance details>-- 赢得指定epoch的选举,可以做failover。
  • +failover-state-select-slave <instance details>-- 新的故障转移状态为 select-slave:我们正在尝试寻找合适的从站进行升级。
  • no-good-slave <instance details>——没有好奴隶可以提拔。目前我们会在一段时间后尝试,但可能这会改变,在这种情况下状态机将完全中止故障转移。
  • selected-slave <instance details>-- 我们找到了指定的好奴隶来提升。
  • failover-state-send-slaveof-noone <instance details>-- 我们正在尝试将提升的从站重新配置为主站,等待它切换。
  • failover-end-for-timeout <instance details>-- 故障转移因超时而终止,slave 最终将被配置为与新的 master 进行复制。
  • failover-end <instance details>-- 故障转移成功终止。所有从站似乎都被重新配置为与新的主站进行复制。
  • switch-master <master name> <oldip> <oldport> <newip> <newport>--主新IP和地址是配置更改后指定的。这是大多数外部用户感兴趣的信息。
  • +tilt-- 进入倾斜模式。
  • -tilt-- 退出倾斜模式。
于 2016-03-04T16:12:28.733 回答