> 文章列表 > redis哨兵模式sentinel

redis哨兵模式sentinel

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、选举条件

选举优先级依次为:

  1. 选择优先级靠前的
  2. 选择偏移量最大的
  3. 选择runid最小的从服务

注意:

  • 优先级在redis.conf文件中,默认为"slave-priority  100"(新redis版本为"replica-priority 100"),值越小优先级越高
  • 偏移量是指原主机数据最全的
  • 每个redis实例启动后,都会随机生成一个40为的runid