当前位置:首页 » Nosql技术教程

redis-Sentinel

2016-03-20 16:07 本站整理 浏览(16)
一:Sentinel 【哨兵】1. Sentinel是干嘛的呢?? 用于监视master是否正常在线,如果说master挂掉了,sentinel会让slave顶上去。2. 开多少Sentinel适合? 开3个Sentinel,或者说开奇数个,Sentinel的原理就是一直监视着master是否在线, 如果挂掉,sentinel的集群会选举中一个零头的sentinel,然后由领头的sentinel 执行slaveof命令,让slave作为master,然后sentinel集群继续监视着新的master, 老的master还是会一直监控着,如果启动了,那么老的master会作为新master的slave。3. sentinel判断master下线的两种标准。 《1》 主观下线。 sentinel发现master没有在指定时间返回信息,这种情况被认为 主线下线。 【指定时间:这个时间是我们设置的】 《2》 客观下线。 sentinel询问sentinel的集群,看一下其他的sentinel是否也标记 这master是否下线,如果标记sentinel下线的个数达到一个阀值, sentinel会将master标记为主线下线,这个时候能会选取领头的 sentinel。由领头的sentinel选取master下面的一个slave1去作为 新的master。4. 做一个实践: 1主2从, 3个Sentinel。5. 画图6. 设置sentinel的四个条件: 《1》你要监视的主服务器的ip地址,以及sentinel标记客观下线的阀值。 sentinel monitor s<master-name> (可以随便起) 127.0.0.1 6379 (服务器默认已经配置好了,不用修改) 《2》sentinel认为“主线下线”的一个时间阀值。 sentinel down-after-milliseconds <master-name> <milliseconds> (master-name可以随便起,服务器默认已经修改了,复制出来就可以了) 《3》 故障恢复期间可以同时slave的个数。 sentinel config-epoch mymaster 1 (这个默认就是1,不用改) 《4》 故障恢复允许的最大时间 sentinel failover-timeout mymaster 180000 (不设置的话就是三分钟,如果三分钟内slave还没有转换为master,程序就应该会关闭吧,这个我猜的)
来自为知笔记(Wiz)