ping三个哨兵都是可以ping通的但是就是只显示两个
日志里的信息大概是这样,但是这个invalid addr我不明白哪里有问题,后面的值是另一个哨兵的id,正常应该不会出现这种情况的
sentinel.conf大体配置
【以下回答由 GPT 生成】
从问题描述中可以看出,你在使用Redis的哨兵模式时遇到了一个问题。三个哨兵节点都可以ping通,但是在查询info信息时,却只显示了两个哨兵节点。错误日志提示是invalid addr,但是你不清楚出了什么问题。
这个问题可能是由于以下原因导致的:
为了找出具体的原因,我们可以逐步分析并解决该问题。
首先,你需要检查每个哨兵节点的配置是否正确。确认以下配置信息是否正确设置:
可以通过比对每个节点的sentinel.conf文件来确认配置是否一致,如果有不一致的地方,需要将其设为一致。
示例代码:
bash # 检查哨兵节点配置 $ cat sentinel.conf
确认哨兵节点之间的网络通信是否正常。可以尝试使用telnet命令测试每个哨兵节点之间的连接情况。
示例代码:
bash # 测试节点之间的连接 $ telnet <哨兵节点IP> <哨兵节点端口>
对于每个哨兵节点,都需要测试与其他哨兵节点的连接情况。确认连接是否成功,如果无法连接,可能存在防火墙等网络限制,需要进行相应的调整。
确认使用的Redis版本与哨兵模式的兼容性。可能是由于使用的Redis版本不兼容哨兵模式导致的无法显示所有哨兵节点。
可以尝试使用最新版本的Redis,并确认哨兵模式的配置是否发生了变化。
以上是解决该问题的一般性步骤和注意事项。请按照以上步骤逐一排查问题,确认每个步骤是否有问题,并进行相应的解决。如果在实际操作中遇到其他问题或需要进一步帮助,请提供详细问题和错误日志,并附上相应的配置文件,以便更准确地定位问题。
又是低级错误,在sentinel.conf中的sentinel-announce-ip 和 sentinel-announce-port的值应该是哨兵的ip和端口,而我写成了主节点的端口,写的时候我甚至自己还想了为什么这里和 sentinel monitor 都要配置一样的。。。