Redis 哨兵(Sentinel)机制

Redis Sentinel通过监控master、slave状态,实现高可用性。当master宕机,Sentinel会自动从slave中选取新的master,并通知客户端。本文介绍了Sentinel的配置、启动、监控以及故障转移过程,详细解析sentinel.conf参数,帮助理解Sentinel的工作原理。
摘要由CSDN通过智能技术生成

 

redis的主从复制有个缺点:

master宕机,需要手动把一个slave改为master,这期间master不存在,不能对外提供服务,且不一定能即使发现master宕机了。

主从复制表面上是高可用的,实际上并不是。

 

哨兵机制:

也叫做哨兵模式,监控master、slave的状态,若master故障,自动从slave中选出一个新的master,并将变化通知到管理员、redis客户端。实现了redis主从复制的高可用。

sentinel  哨兵

 

 


 

 

实现哨兵模式

实现哨兵要用到2个文件:

  • redis的bin下面有一个可执行文件redis-sentinel
  • redis的解压目录下有一个配置文件sentinel.conf,复制到/usr/local/redis/conf下,当然放哪儿都行

 

若多台虚拟机上模拟,无需修改端口号、各种文件保存位置,但太吃内初。

若在一台虚拟机上模拟,将redis复制多份,放到/usr/local/redis下,依次重命名为redis1、redis2....,并修改端口号、文件保存路径。

 

 

修改sentinel.conf中的几个参数:
bind 192.168.1.7 172.0.0.1 #绑定本机ip。可同时绑定多个,优先使用前面的,把实际ip写在前面。
#protected-mode no #关闭保护模式(不使用保护模式) port 26379 #修改要使用的端口号

daemonize yes #作为守护线程,后台启动 sentinel monitor mymaster 192.168.1.7 6379 2 #指定要监控的master的ip、port,客观下线指标(阈值)


#sentinel auth-pass mymaster abcd #如果master设置了密码,需要写上master的密码

 

先启动master、slave,等master、slave都启动了,再启动各个sentinel。

我们在sentinel.conf中配置的是master的ip、port,sentinel是通过master找到该master的slave,所以要先启动master、slave。

 

 

启动哨兵:
./redis-sentinel ../conf/sentinel.conf 

就是执行redis的bin下面的redis-sentinel,指定配置文件sentinel.conf的位置。

 

ps -ef | grep sentinel 看到哨兵已经启动:(也可以grep redis)

 

 

连接到某个哨兵节点:
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值