如何从命令行 (redis-cli) 了解 redis 的状态?主从
问问题
61669 次
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 回答