在Windows上搭建redis sentinel(哨兵机制)部署

Windows配置redis哨兵

redis主从模式必有单点问题,所以redis的哨兵机制就是来弥补这一问题,接下来我们在Windows环境下配置一下redis的哨兵。

1.    下载Windowsredis地址:https://github.com/MicrosoftArchive/redis/releases

 

2.解压到目录,6379 master, 6380 6381slave

 

3.redis主从配置

    3.1 master文件配置redis.windows.conf

          port 6379

    3.2 6380 slave文件配置redis.windows.conf

            port6380

           slaveof 127.0.0.1 6379

    3.3 6381 slave文件配置redis.windows.conf

            port6381

           slaveof 127.0.0.1 6379

 

4.redis哨兵配置

    每一个redis目录中都创建一个文sentinel.conf文件

    4.1 master 6379sentinel.conf文件配置如下

port 26379 // 当前Sentinel服务运行的端口

 

#Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,而将这个主实例判断为失效至少需要2 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行   

sentinel monitor mymaster 127.0.0.1 6379 2  

 

#指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行

sentinel down-after-milliseconds mymaster 5000

 

#指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长  

sentinel parallel-syncs mymaster 1 

#如果在该时间(ms)内未能完成failover操作,则认为该failover失败  

sentinel failover-timeout mymaster 15000 

 

#指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长

sentinel config-epoch master 12

 

#如果在该时间(ms)内未能完成failover操作,则认为该failover失败

sentinel leader-epoch master 13

4.2 slave 6380中的sentinel.conf文件配置

 

port 26479 // 当前Sentinel服务运行的端口 

sentinel monitor mymaster 127.0.0.1 6379 2  

sentinel down-after-milliseconds mymaster 5000 

sentinel parallel-syncs mymaster 1 

sentinel failover-timeout mymaster 15000 

4.3 slave 6381中的sentinel.conf文件配置

port 26579 // 当前Sentinel服务运行的端口 

sentinel monitor mymaster 127.0.0.1 6379 2  

sentinel down-after-milliseconds mymaster 5000 

sentinel parallel-syncs mymaster 1 

sentinelfailover-timeout mymaster 15000

5.启动redis服务

       分别启动masterslave1slave2

启动命令分别如下:

redis-server.exeredis.conf 

 

6. 启动哨兵服务

    redis-server.exesentinel.conf --sentinel

 

7. 测试redis服务

  

 

 

8.查看sentinel的状态

 

猜你喜欢

转载自blog.csdn.net/weixin_42231507/article/details/80778198