两台windowserver服务器配置Redis哨兵集群----一主二从
十年河东,十年河西,莫欺少年穷
学无止境,精益求精
redis下载地址:https://github.com/tporadowski/redis/releases
这里选择压缩版,不选择安装版
1、集群环境
主机master: 局域网IP 172.27.40.27
从机slave:局域网IP 172.27.40.29
2、修改主从相关配置-两台服务器均需修改
同时修改 redis.windows-service.conf 和 redis.windows.conf 中的 bind回环地址、timeout 超时时间
bind 由 127.0.0.1 改为 0.0.0.0
protected-mode no 取消保护,可以在局域网内不加密访问
3、修改从机相关配置-只修改从机
redis.windows-service.conf 和 redis.windows.conf 中 增加如下配置:
slaveof 172.27.40.27 6379
修改
protected-mode no
此配置说明:作为172.27.40.27 的从机
注意:在修改配置文件时,请勿有空格
4、启动主机master的redis服务
关于启动redis,可参考;https://www.cnblogs.com/chenwolong/p/redis.html
5、主从机增加sentinel.conf - 两台服务器均需要增加
主机配置为:
# 这个是master主机配置内容, #当前Sentinel服务运行的端口 port 26379 # 哨兵监听的主服务器 端口号 和 投票票数 投票数尽可能设置为哨兵数减去1 sentinel monitor mymaster 127.0.0.1 6379 2 # 3s内mymaster无响应,则认为mymaster宕机了 sentinel down-after-milliseconds mymaster 3000 #如果10秒后,mysater仍没启动过来,则启动failover sentinel failover-timeout mymaster 10000 # 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步 sentinel parallel-syncs mymaster 1
注意:主机的Ip为127.0.0.1
从机配置为:
# 这个是从机Slave配置
#当前Sentinel服务运行的端口
port 26379
# 哨兵监听的主服务器 端口号 和 投票票数 投票数尽可能设置为哨兵数减去1
sentinel monitor mymaster 172.27.40.27 6379 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1
注意:从机的Ip为 172.27.40.27 ,也就是主机master的局域网IP/私有IP
6、使用命令启动哨兵模式。
redis-server sentinel.conf --sentinel
主机master保持运行状态,先从从机执行该指令:
从机执行如下:
再执行主机指令之前,先查看下主机是否拥有一个从机(我们之前在从机的配置文件中配置了:slaveof 172.27.40.27 6379)
执行如下指令查看主机master是否拥有从机:
info replication
然后执行 redis-server sentinel.conf --sentinel 指令,完成哨兵模式
执行结果如下
从输出中,我们得知主机master拥有一个从机,IP地址为:172.27.40.29
验证是否成功
至此:哨兵模式配置成功。
需要注意的地方:在windowsServer服务器防火墙上要设置好出入站端口《6379,26379》
20240604更新如下
因为公司目前只有两台windows服务器,因此需要在从机多部署一个redis示例,达到一主二从的哨兵模式修改Redis-x64-5.0.9-6380文件夹中的 redis-windows.conf 和 redis-windows-service.conf,将端口号指向 6380
其他三个修改像和上述从机一直,分别如下:
bind 0.0.0.0 slaveof 172.27.40.27 6379 protected-mode no
注意编辑时:左侧不要有空格
启动从节点
redis-server.exe redis.windows.conf
保存文件后,在该文件夹执行cmd指令,注册为服务
redis-server.exe --service-install redis.windows.conf --service-name Redis6380
新建/更新 sentinel.conf 文件如下:
# 这个是从机Slave配置 #当前Sentinel服务运行的端口 port 26380 # 哨兵监听的主服务器 端口号 和 投票票数 sentinel monitor mymaster 172.27.40.27 6379 2 # 3s内mymaster无响应,则认为mymaster宕机了 sentinel down-after-milliseconds mymaster 3000 #如果10秒后,mysater仍没启动过来,则启动failover sentinel failover-timeout mymaster 10000 # 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步 sentinel parallel-syncs mymaster 1
注意:从机中的另一个Redis的sentinel服务使用了 26379,因此在该文件中,我们使用26380 。
编辑主机master 和 从机的防火墙,将26380 加入出入站
此时去主机master查看从机个数:
redis指令
info replication
随后:执行哨兵启动命令
redis-server sentinel.conf --sentinel
检测是否配置成功,可通过是否同步主机的redis key进行查看
启动Redis6380windows服务即可
至此:一主二从部署完毕。