什么是哨兵模式?
Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所有从服务。 某个master服务宕机后,会把这个master下的某个从服务升级为master来替代已宕机的master继续工作。
注意:原先宕机的master服务则会变成从服务
哨兵模式步骤如下
1.创建哨兵配置文件
touch sentinel.conf
2.填写配置文件中内容
#mymaster 为监控对象起的服务器名称
#1 为至少有多少个哨兵同一迁移的数量
sentinel monitor mymaster 127.0.0.1 6379 1
3.启动配置文件
redis-sentinel /opt/myredis/sentinel.conf
显示一个主机,两个从机信息
4.手动停止主机
结果如下
6381升级为主机,从机为6380
6380信息,为从机
5.重启6379服务器,自动变成6381的从服务器
6379服务器信息:主服务器为6381
6381服务器信息:显示有两个从服务器
6.下面是哨兵模式的日志信息
记录当主机6379挂掉之后,从服务器6380和6381中选出一个为主服务器。
此选举出的主服务器为6381,6379自动变成从服务器,为down状态。
当6379重启之后,则会自动加入当前主服务器6381的从服务器当中。
7.哨兵模式简单流程图
8.选举规则
1.选择优先级靠前的
配置文件中设置属性如下,值越小优先级越高
replica-priority 100
2.选择偏移量最大的
偏移量是指获得原主机数据最全的
3.选择runid最小的
每隔redis实例启动后都会随机生成一个40位的runid