Redis的哨兵集群(Sentinel info 中的数量与实际数量不一致)

PS: 上次在搭建哨兵集群遇到的一个问题,分享且记录一下吧。上次搭建的哨兵集群文章链接:Redis的哨兵集群(一主两从三哨兵、部署教程和知识总结)-CSDN博客

一、问题&背景

       先搭建了一主两从的Redis后,然后配置在三台机器上配置了哨兵服务,都启动成功后,登录到哨兵服务上查看info信息始终只能查到一个哨兵数量。

       哨兵数量和实际启动的数量不一致,哨兵集群搭建未成功。

 1. sentinel_masters: 哨兵主节点数量只有一个,这个是没问题的。

 2. 但是下面的sentinels:哨兵的总数量始终都是1个,说明这三个哨兵没有成功通信并搭建为哨兵集群。

   

二、分析问题

       1.首先考虑网络通信问题,要保证三台机器的网络可以互相Ping通,其次是Redis的端口和哨兵的端口也可以互相访问到。

       2.哨兵的配置文件问题,配置文件中存在错误的配置,导致哨兵集群无法组建成功。

三、解决方案

1、网络问题

     1、使用ping和telnet命令来检查机器之间的网络通信是否有问题,比较简单就不多说了。

     2、也可以查看防火墙的端口开放等,排除网络通信问题。

2、哨兵配置文件问题。

       出现这种问题大概率都是配置文件配置有错误。

       推荐大家主要检查以下几个点。

     (1)密码问题配置:Redis配置了密码,需要保证主从都进行配置密码,哨兵也需要配置masterauth等相关配置。

     (2)protected-mode 参数: 保护模式关闭设置为no即可。

     (3)sentinel myid 参数: 检查哨兵sentinel.conf配置文件的sentinel myid参数是否有相同,这个参数是哨兵的唯一标志,要保证每个哨兵的myid参数不一致才可以,可以直接删除这个配置,哨兵启动时会自动重新生成myid。

     (4)推荐的配置模板参数:在Redis的6.2版本以后,提供的sentinel.conf模板文件中,有sentinel-announce-ip和sentinel-announce-port两个参数,这两个参数是要配置当前节点哨兵的IP和Port,并不是配置主节点的,这点需要注意。

PS:sentinel-announce-ip和sentinel-announce-port 这个两个参数用于设置 Sentinel 进程向其他 Sentinel 进程或 Redis 服务器报告的 IP 地址和端口的。

四、总结

        上面就是我的几个排查思路,我自己是因为当时配置好一个哨兵并且启动成功了,以为哨兵的配置文件都一样就直接复制到其他机器上了,导致myid参数都一致了,查询哨兵信息,怎么都是只有一个哨兵数量。

        删除了sentinel  myid参数后,重新启动三个哨兵,再次查看Sentinel info 信息就恢复正常了。

      其次也可以查看sentinel.conf文件的末尾,哨兵再启动完成后会添加监控的节点信息。

 

PS:这就是上次的坑了,分享记录一下吧。

也可以学习参考学习交流一下,关注一下后续还会继续分享一些没用的知识

hhh,一个JAVA开发再学运维知识。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值