ZBLOG

如何查看redis哨兵模式是否正常

要检查Redis哨兵模式是否正常运行,可以通过以下步骤进行验证:


1. 连接哨兵节点

使用redis-cli连接任意哨兵节点(默认端口26379):

redis-cli -h <sentinel_ip> -p 26379

2. 检查哨兵基本信息

(1) 查看哨兵状态信息

sentinel master mymaster

输出应包含:

  • role:当前主节点角色(应为master
  • num-slaves:从节点数量
  • num-sentinels:哨兵节点数量(需与部署数量一致)
  • failover-timeout:故障转移超时时间

(2) 检查从节点信息

sentinel slaves mymaster

确认所有从节点状态正常(无s_downo_down标志)。

(3) 查看其他哨兵节点

sentinel sentinels mymaster

确认所有哨兵节点彼此可见且在线。


3. 验证主从切换能力

(1) 手动触发故障转移(测试用)

sentinel failover mymaster

观察是否成功选举新主节点,原主节点恢复后是否变为从节点。

(2) 监控哨兵日志

查看哨兵日志文件(默认位置):

tail -f /var/log/redis/sentinel.log

关注以下关键词:

  • +vote-for-leader:选举新主节点
  • +switch-master:主从切换记录
  • +sdown/-sdown:主观下线检测
  • +odown/-odown:客观下线检测

4. 检查关键指标

通过sentinel ckquorum mymaster确认仲裁可用:

sentinel ckquorum mymaster

输出应为:“OK X usable Sentinels. Quorum and failover authorization can be reached”


5. 客户端验证

通过客户端连接哨兵获取当前主节点地址:

redis-cli -h <sentinel_ip> -p 26379 sentinel get-master-addr-by-name mymaster

返回的IP和端口应与实际主节点一致。


6. 常见异常排查

问题现象 可能原因 解决方向
s_down状态 网络波动/节点负载过高 检查网络连通性和节点资源
仲裁失败 哨兵节点数量不足 确保至少3个哨兵节点且网络互通
故障转移失败 法定人数未达成 检查sentinel monitor配置的quorum值

快速检测脚本示例

#!/bin/bash
SENTINELS=("26379" "26380" "26381")  # 哨兵端口列表

for port in "${SENTINELS[@]}"; do
    echo "Checking Sentinel $port:"
    redis-cli -p $port sentinel master mymaster | grep -E "(ip|port|num-slaves|num-sentinels)"
    echo "---"
done

通过以上步骤,可以全面验证Redis哨兵模式的健康状态。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=24406

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?