Redis Sentinel的配置和使用

来源:http://www.zhizhihu.com/html/y2014/4600.html

Redis主从系统,除了做数据冗余,开可以做高可用性灾备。Reids提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave作为master,将master作为slave。主从切换之后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变。master_redis.conf中会多了一句slaveof的配置,sentinel.conf的监控目标也随之调换,这一点要注意。

如果要监控两个redis实例,可以进行如下配置 sentinel.conf:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
port 26379
daemonize yes
logfile "/var/log/redis/sentinel.log"
 
#master 7000
sentinel monitor master-7000 127.0.0.1 7000 2
sentinel down-after-milliseconds master-7000 30000
sentinel parallel-syncs master-7000 1
sentinel failover-timeout master-7000 180000
 
#master 7001
sentinel monitor master-7001 127.0.0.1 7001 1
sentinel down-after-milliseconds master-7001 30000
sentinel parallel-syncs master-7001 1
sentinel failover-timeout master-7001 180000

启动:

redis-sentinel sentinel.conf

[43023] 17 Jun 14:49:55.189 # Sentinel runid is 7b2f26a9633b9ec07f76ab6efba7508c235bf75d
[43023] 17 Jun 14:49:55.189 # +monitor master master-7000 1.0.0.1 7000 quorum 1
[43023] 17 Jun 14:49:55.189 # +monitor master master-7001 1.0.0.1 7001 quorum 1
[43023] 17 Jun 14:49:55.190 * +slave slave 1.0.0.2:7000 1.0.0.2 7000 @ master-7000 1.0.0.1 7000
[43023] 17 Jun 14:49:55.191 * +slave slave 1.0.0.2:7001 1.0.0.2 7001 @ master-7001 1.0.0.1 7001
[43023] 17 Jun 14:52:55.815 * +fix-slave-config slave 1.0.0.2:7000 1.0.0.2 7000 @ master-7000 1.0.0.1 7000
[43023] 17 Jun 14:52:55.816 * +fix-slave-config slave 1.0.0.2:7001 1.0.0.2 7001 @ master-7001 1.0.0.1 7001

 

需要注意的几个地方:

1、注意第一行最后一个2,意思是当有两个sentinel实例同时检测到redis异常时,才会有反应。

2、主从切换后,redis.conf、sentinel.conf内容都会改变,主要还想要原来的主从架构,要再修改配置文件;

3、master挂掉,sentinel已经选择了新的master,但是还没有将其改成master,但是已经将old master改成了slave。那么这时候如果重启old master,就会处于无主状态。所以一方面要等sentinel稳定后再启动old master,或者重新人工修改配置文件,重新启动集群。

4、sentinel只是在server端做主从切换,app端要自己开发,例如Jedis库的SentinelJedis,能够监控sentinel的状态。这样才能完整的实现高可用性的主从切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值