一: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。
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. 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