Redis:单机实现Sentinel

本文详细介绍了Redis Sentinel的功能,包括监控、通知和自动故障排除。哨兵系统用于检测和处理主服务器故障,通过配置文件sentinel.conf进行设置。哨兵会监控主服务器的存活状态,当多数哨兵认为主服务器宕机时,将触发故障转移,选举新的主服务器。配置过程中需要注意设置如sentinelmonitor、sentineldown-after-milliseconds等参数。在实际操作中,还需考虑密码配置和安全问题。在搭建哨兵系统时,遇到问题如主服务器匹配失败,需检查监听配置。最后,文章强调了配置文件中replicaof属性的修改以及主从服务器密码一致性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sentinel的功能

  • 监控
  • 通知
  • 自动故障排除

监控又主要指下面两方面

  1. master存活检测
  2. master与slaver运行情况检测

通知:当被监控的服务器宕机了之后,需要给其他服务器发送提醒

自动故障排除:被监控的主服务器宕机了之后,需要选举出新的主服务器,其他服务器要成为该新服务器的从服务器

sentinel.conf介绍

因为哨兵其实也是一台服务器,所以也有自己的配置文件,下面就来看看该配置文件

该文件我是在解压的Redis文件夹下找到的,而不是在安装的文件夹找到的

使用下面的命令,去除掉所有文件里面的所有注释,只看参数

cat sentinel.conf | grep -v "#" | grep -v "^$"

在这里插入图片描述
可以看到里面的所有参数了,可以看到里面有差不多一半的参数在redis.conf里面是一致的

  • port:哨兵自己的端口号
  • daemonize:是否以守护进程的方式去运行
  • pidfile:如果以守护进程的方式去运行,会生成这个文件
  • logfile:日志文件的位置
  • dir:哨兵自己工作信息存储的位置,默认是产生临时文件的目录
  • sentinel monitor 主服务器名字 ip地址 端口号 2:主服务器名字随便取,ip地址和端口号就是主服务器的ip地址和端口号,2代表是有两台以上保护两台哨兵认为该服务器宕机了,就认定该服务器宕机了,要进行选举
  • sentinel down-after-milliseconds 主服务器名字 毫秒数:该参数是认定如果主服务器在规定的毫秒数内没有响应,就会被认为宕机了,默认是30秒
  • sentinel paraller-syncs 主服务器名字 1:该参数代表主服务器被认定挂掉之后,选举出新的主服务器后,其他从服务器要复制该新主服务器,这里的1就代表,每次有多少个key进行同步,这个配置要实际参考服务器的性能,值越大,同步越快,但性能会消耗很多,服务器压力越大;值越小,同步越慢,性能消耗少,服务器压力越小。
  • sentinel failover-timeout 主服务器名字 180000:该参数代表整个同步完成操作要在多长时间内完成才算成功,默认是3分钟
  • sentinel deny-scripts-reconfig:该参数是涉及到安全问题的,避免脚本重复,默认为Yes

当然这里上面显示的是一些已经开了的参数配置,还有一些没有开启是在注解里面的,这里就不详说了,这里主要想记录配置过程

然后还有一个比较重要的参数
在这里插入图片描述
如果被监控的服务器有密码,这个是要开的,否则无法进行切换

主从配置就不讲了,回看前面Redis关于复制的文章,其实就是使用slaveof命令即可,然后如果有密码要在参数文件那里配置(也可以在参数里面进行配置主服务器)

开始搭建

之前我已经搭建了简单的一主一从了,下面直接给主搭建个哨兵

关于哨兵文件,我只是改了其接口、监视的主服务器还有密码而已,其他都改
在这里插入图片描述
在这里插入图片描述
设置了之后发现报错
在这里插入图片描述
没有主服务器可以匹配这个名字,查了一下,原来要先进行监听配置,才可以进行密码设置

所以,我们只要在后面监听配置里面加就好了

强烈推荐ip地址不要使用127.0.0.1(回环地址),最好使用同个网段的ip地址或者外网地址,因为

在这里插入图片描述
使用下面命令进行启动

注意要在redis.sentinel的文件目录才是该命令

./redis-sentinel sentienel10086.conf //这里是我自己设置的配置文件名字

在这里插入图片描述
此时我们再开启多一个哨兵
在这里插入图片描述
可以看到有一个哨兵进来了

配置文件改变

如果主服务器挂了,会选举出一台从服务器去替代主服务器

此时其他服务器会变成新的主服务器的从服务器

那么这些服务器的配置文件不是通过执行命令去实现的,而是去修改配置文件去实现的,通过修改里面replicaof属性,来让自己成为新主服务器的从服务器(replicaof属性是规定自己的主服务器的)

要注意的一点是,这里并不会追加master auth属性信息,也就是不会去追加密码,所以,主从服务器如果有密码要设定好,并且最好要一致,因为哨兵的配置要进行主服务器验证,如果主从服务器密码不一致,从服务器升级成主服务器时,就会无法进行切换。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值