如何知道redis的主/从状态?

Bdf*_*dfy 36 redis

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

gef*_*gef 53

INFO命令返回当前的角色.

例如/如果我们是主人

role:master
Run Code Online (Sandbox Code Playgroud)

将在其他细节中展示.

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

slaveof 192.168.1.66 6379
Run Code Online (Sandbox Code Playgroud)

当我们运行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
Run Code Online (Sandbox Code Playgroud)

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

redis-cli info | grep ^role
Run Code Online (Sandbox Code Playgroud)

:)


lfe*_*445 5

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

# 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    
Run Code Online (Sandbox Code Playgroud)

状态

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> -- leader sentinel 向该实例发送了 SLAVEOF 命令,以便为新的 slave 重新配置它。
  • +slave-reconf-inprog <instance details> -- 重新配置的slave 显示为新master ip:port 对的slave,但同步过程尚未完成。
  • +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:我们正在尝试寻找合适的 slave 进行升级。
  • no-good-slave <instance details>——没有好奴可推。目前我们会在一段时间后尝试,但可能这会改变,在这种情况下状态机将完全中止故障转移。
  • selected-slave <instance details> -- 我们找到了指定的好奴隶来提升。
  • failover-state-send-slaveof-noone <instance details> -- 我们正在尝试将提升的从站重新配置为主站,等待它切换。
  • failover-end-for-timeout <instance details> -- 故障转移因超时而终止,无论如何,从站最终将被配置为与新的主站进行复制。
  • failover-end <instance details>-- 故障转移成功终止。所有的从站似乎都被重新配置为与新的主站进行复制。
  • switch-master <master name> <oldip> <oldport> <newip> <newport>-- master 的新 IP 和地址是配置更改后指定的。这是大多数外部用户感兴趣的消息。
  • +tilt -- 进入倾斜模式。
  • -tilt -- 退出倾斜模式。