Redis哨兵模式-Windows本地
1、下载一个redis放到一个文件下,并复制两份分别取名为 Redis-x64-2.8.2401_1、Redis-x64-2.8.2401_2、Redis-x64-2.8.2401_3
2、分别找到 redis.windows.conf 文件填写一下内容
#redis访问端口号
port 6379
bind 127.0.0.1 # 此为master主1
#redis访问端口号
port 6380
slaveof 127.0.0.1 6380 #此为从2
#redis访问端口号
port 6381
slaveof 127.0.0.1 6381 #此为从3
3、分别在reids文件夹下创建一个sentinel的conf文件 一次起名问 sentinel_1.conf、sentinel_2.conf、sentinel_3.conf
sentinel_1中内容为:
# 配置 sentinel 端口号
port 26379
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel_1.log"
# 日志文件存放地址
dir "D:\\Redis\\Redis-x64-2.8.2401_1"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6379,1 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6381 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel config-epoch mymaster 1
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel leader-epoch mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面:
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel known-slave mymaster 127.0.0.1 6379
# Generated by CONFIG REWRITE
sentinel known-slave mymaster 127.0.0.1 6380
sentinel known-sentinel mymaster 127.0.0.1 26381 d7777ec3655a0a82464344db392851c172d44292
sentinel known-sentinel mymaster 127.0.0.1 26380 2fc2f971333fe8c33edb4100ca5b2f61ef3a2766
sentinel current-epoch 1
sentinel_2、sentinel_3中内容为略有不同:
# 配置 sentinel 端口号
port 26380
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel_2.log"
# 日志文件存放地址
dir "D:\\Redis\\Redis-x64-2.8.2401_2"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6379,1 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6381 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel config-epoch mymaster 1
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel leader-epoch mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面:
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel known-slave mymaster 127.0.0.1 6379
# Generated by CONFIG REWRITE
sentinel known-slave mymaster 127.0.0.1 6380
sentinel known-sentinel mymaster 127.0.0.1 26381 d7777ec3655a0a82464344db392851c172d44292
sentinel known-sentinel mymaster 127.0.0.1 26379 251ea0455b959a2f10a0699cbae43bff5e34e728
sentinel current-epoch 1
4、为了启动方便在redis文件夹下,分别创建 Redis-x64-2.8.2401_1 启动reids和哨兵配置文件
可分别建名称为 redisStart1.bat、redisStartSentinel1.bat;redisStart2.bat、redisStartSentinel2.bat;redisStart3.bat、redisStartSentinel3.bat
举例:
redisStart1.bat:
@echo off
redis-server.exe redis.windows.conf
@pause
redisStartSentinel1.bat:
@echo off
redis-server.exe sentinel_1.conf --sentinel
@pause
reids文件夹下
redisStart1.cmd:
@echo off
cd Redis-x64-2.8.2401_1
startRedis1.bat
redisSentinel1.cmd:
@echo off
cd Redis-x64-2.8.2401_1
redisStartSentinel1.bat
注:记录一下,加深印象。