Redis高可用之sentinel哨兵监控

上一篇文章介绍了Redis主从复制实现了redis高可用,但是主从复制存在着一些问题:

        1. 当master节点出现故障时,往往需要手动进行故障的转移(这里的手动也指写脚本之类的)

        2. 当master节点出现故障时,就导致了另一个问题:写能力和存储能力受到限制

本次通过redis-sentinel哨兵实现故障的自动转移

redis-sentinel故障转移的流程:

1.当多个sentinel发现并确认了master有问题

2.接着会选举出一个sentinel作为领导

3.再选举出一个slave作为master

4.通知其余的slave,新的master是谁

5.通知客户端一个主从的变化

6.最后,sentinel会等待旧的master复活,然后将新master成为slave

 

实操演练:

首先启动三个redis节点(redis-7000, redis-7001, redis-7002),一主两从模式,基本配置如下

主节点:redis-7000.conf

        port 7000

        daemonize yes

        pidfile /var/run/redis-7000.pid

        logfile "7000.log"

        dir "/opt/redis/data"

从节点:redis-7001.conf     redis-7002.conf

        port 7001(redis-7002.conf是7002)

        daemonize yes

        pidfile /var/run/redis-7000.pid (redis-7002.conf是7002 )

        logfile "7000.log" (redis-7002.conf是7002 )

        dir "/opt/redis/data"

        slaveof 127.0.0.1 7000

验证:进入任意一个redis节点,执行info replication命令即可查看当前节点的状态

可以看出端口7000的节点时master节点

可以看出当前节点时slave从节点,并且可以看出该从节点的主节点地址

 

其次启动三个哨兵(redis-26379, redis-26380, redis-26381)

配置(三个配置基本相似, 就端口号的地方改一下)

port 26379
daemonize yes
dir "/opt/redis/data/sentinel"
logfile "26379.log"

sentinel monitor mymaster 127.0.0.1 7000 2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值