项目架构之三主三从三Sentinel笔记(13)

来源:互联网 发布:mac ppt 动画顺序 编辑:程序博客网 时间:2024/06/17 03:36
一: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. 做一个实践:

master1 6369 slave1 6370 slave11 6371
master2 6379 slave2 6380
master3 6389 slave3 6390
还有 3个Sentinel。分别是26379,26380,26381

5. 画图描叙



6. 设置sentinel的四个条件:(run_id : a1b96c0346a2e15af8e52754ba76034e2bbdaabf)


   《1》你要监视的主服务器的ip地址,以及sentinel标记客观下线的阀值。 
        sentinel monitor a1b96c0346a2e15af8e52754ba76034e2bbdaabf 127.0.0.1 6379 2
   《2》sentinel认为“主线下线”的一个阀值。
        sentinel down-after-milliseconds <master-name> <milliseconds>
   《3》 故障恢复期间可以同时slave的个数。
        sentinel parallel-syncs a1b96c0346a2e15af8e52754ba76034e2bbdaabf 1
  《4》 故障恢复允许的最大时长


实践如下

1)文件目录图如下,master,slave相关的存放的是redis.conf,redis-cli,redis-server;sentinel存放的是redis-sentinel,sentinel.conf


2)按照上述设置sentinel.conf,记得修改端口号,并启动

[root@localhost sentinel1]# ./redis-sentinel sentinel.conf

3)查看redis的主从关系

127.0.0.1:6369> info 


127.0.0.1:6369> info replication


4)把主停掉,会显示切换从为主,然后在启动之前的主,会看到之前的主进程会变成从    
原创粉丝点击