整体结构如下:就是把单redis复制三份出来,我是其中6379主,6380从,其他哨兵
redis-6379中的redis.windows.conf文件内容添加如下:
port 6379
bind 127.0.0.1
requirepass "123456"
redis-6379中的redis.windows.conf文件内容添加如下:
port 6380
bind 127.0.0.1
masterauth "123456" "123456"
接下来是哨兵的配置,在redis-26379和redis-26380文件夹下创建文件sentinel.conf,内容如下
# 当前Sentinel服务运行的端口
port 26379
# 本机访问时 bind 127.0.0.1
# 远程都可以访问时配置,否则报错
bind 0.0.0.0
# 哨兵监听的主服务器 后面的1表示主机挂掉以后进行投票,只需要1票就可以从机变主机
sentinel myid 7a517c210be23e906100618ec988d96dac06ae42
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel monitor mymaster 127.0.0.1 6379 1
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel down-after-milliseconds mymaster 3000
# 设置哨兵sentinel 连接主从的密码 注意必须为主从设置一样的验证密码,没有的话不用设置
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel auth-pass mymaster 123456
# Generated by CONFIG REWRITE
dir "D:\\soft_dev\\redis\\Redis-26379"
sentinel config-epoch mymaster 21
sentinel leader-epoch mymaster 0
sentinel known-sentinel mymaster 127.0.0.1 26380 b4b6db73b7120013c3caed5791f8a7d9b61792d4
sentinel current-epoch 21
# 关闭redis保护模式
protected-mode no
# 当前Sentinel服务运行的端口
port 26380
# 本机访问时 bind 127.0.0.1
# 远程都可以访问时配置,否则报错
bind 0.0.0.0
# 哨兵监听的主服务器 后面的1表示主机挂掉以后进行投票,只需要1票就可以从机变主机
sentinel myid b4b6db73b7120013c3caed5791f8a7d9b61792d4
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel monitor mymaster 127.0.0.1 6379 1
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel down-after-milliseconds mymaster 3000
# 设置哨兵sentinel 连接主从的密码 注意必须为主从设置一样的验证密码,没有的话不用设置
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel auth-pass mymaster 123456
# Generated by CONFIG REWRITE
dir "D:\\soft_dev\\redis\\Redis-26380"
sentinel config-epoch mymaster 21
sentinel leader-epoch mymaster 0
sentinel known-sentinel mymaster 127.0.0.1 26379 7a517c210be23e906100618ec988d96dac06ae42
sentinel current-epoch 21
# 关闭redis保护模式
protected-mode no
配置完成后,开始启动:
主从redis跟目录下cmd执行:redis-server.exe redis.windows.conf
哨兵根目录下cmd执行:redis-server.exe sentinel.conf --sentinel
启动效果如下:
打开redis客户端进行连接:redis-cli.exe -p 26379
查看哨兵信息:info sentinel