redis哨兵模式sentinel
目录
1、redis哨兵模式是什么
2、案例
2.1、在自定义myredis目录下创建sentinel.conf文件(必须使用sentinel.conf文件名称)
2.2、启动哨兵
2.3、master宕机
3、选举条件
1、redis哨兵模式是什么
反客为主的自动版,能够后台监控主机是否故障,如果故障了,根据投票数自动将从库(slave)转换为主库(master)。
2、案例
在一台Linux服务器上,开启3个redis服务,模拟一主二从,搭建步骤省略,参考:redis主从复制
注意:我的3个redis配置文件都在/myredis目录下
2.1、在自定义myredis目录下创建sentinel.conf文件(必须使用sentinel.conf文件名称)
创建sentinel.conf文件,并配置内容:
内容为:
sentinel monitor mymaster 127.0.0.1 6379 1
释义:
- monitor :监控
- mymaster:为监控对象命名的服务器名称
- 1:表示至少有多少个哨兵同意迁移的数量,我这里只需要1个哨兵同意即可
- 127.0.0.1 6379:为我的master地址
2.2、启动哨兵
redis-sentinel sentinel.conf
如下:
2.3、master宕机
看下哨兵日志输出:
注意:
- 原来的master宕机后,会被哨兵监控到
- 哨兵会通知从服务器进行选举,选出新的master
- 原来的master会降级为从服务器,即使再度启动,也是从服务器
3、选举条件
选举优先级依次为:
- 选择优先级靠前的
- 选择偏移量最大的
- 选择runid最小的从服务
注意:
- 优先级在redis.conf文件中,默认为"slave-priority 100"(新redis版本为"replica-priority 100"),值越小优先级越高
- 偏移量是指原主机数据最全的
- 每个redis实例启动后,都会随机生成一个40为的runid