个人技术分享

传送门:Redis教程汇总篇,让你从入门到精通

一、搭建Redis一主二从

分别复制三份Redis工作文件夹,里面内容一致

 接着修改7002的配置文件,【redis.windows-service.conf】

port 7002

改成

port 7002
slaveof 127.0.0.1 7001

7003也同样修改

port 7003
slaveof 127.0.0.1 7001

这样就指定了7001为主机,7002、7003为从机

二、启动三个Redis

分别打开三个CMD控制台窗口(以管理员身份),执行命令,启动三个Redis

d:
cd D:\RedisCluster5.0\RedisSentinel\7001
redis-server.exe redis.windows-service.conf
d:
cd D:\RedisCluster5.0\RedisSentinel\7002
redis-server.exe redis.windows-service.conf
d:
cd D:\RedisCluster5.0\RedisSentinel\7003
redis-server.exe redis.windows-service.conf

启动后不要关闭窗口!

三、配置哨兵

在7001目录下,复制三份redis.windows-service.conf文件,重命名为sentinel1.windows.conf、sentinel2.windows.conf、sentinel2.windows.conf,修改配置如下:

sentinel1.windows.conf:

port 27001
sentinel monitor mymaster 127.0.0.1 7001 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000

sentinel2.windows.conf:

port 27002
sentinel monitor mymaster 127.0.0.1 7001 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000

sentinel3.windows.conf:

port 27003
sentinel monitor mymaster 127.0.0.1 7001 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000

sentinel monitor mymaster 127.0.0.1 7000 2 表示哨兵监视的是127.0.0.1:7000,2为投票数,表示有2个或以上的哨兵认为监视的主节点宕机就启动从机替代。

sentinel down-after-milliseconds mymaster 5000表示有5000毫秒联不通主节点了,就主观认为宕机了。

sentinel parallel-syncs mymaster 1表示故障转移后主从复制数。

sentinel failover-timeout mymaster 60000表示故障转移开始后,超过60000毫秒没完成就认为失败。

自动故障转移(Automatic failover):当主节点因为以外下线了,哨兵就会从从节点中选出新的主节点,并让其他从节点复制新的主节点的数据。

监控(Monitoring):哨兵会监控主节点和从节点是否正常运作

四、启动哨兵 

分别打开三个CMD控制台窗口(以管理员身份),进入7001目录下,分别执行命令

d:
cd D:\RedisCluster5.0\RedisSentinel\7001
redis-server.exe sentinel1.windows.conf --sentinel
d:
cd D:\RedisCluster5.0\RedisSentinel\7001
redis-server.exe sentinel2.windows.conf --sentinel
d:
cd D:\RedisCluster5.0\RedisSentinel\7001
redis-server.exe sentinel3.windows.conf --sentinel

 启动后不要关闭窗口!

 五、测试哨兵功能

1.再开启一个CMD窗口,进入7001目录下

2.登录7002,查看mster状态

redis-cli.exe -p 7002
info replication

可以看到7002的master是7001

3.登录7003,查看mster状态

可以看到7003的master也是7001 

4.此时,登录7001,shutdown停掉主机7001

5.等待5秒过后,再登录其他两个从机,看哨兵是否将他们其中一台升为主机

可以看到,7002被提升为了主机,这就是哨兵模式发挥了作用