两台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安装文件夹并命名为:redis-...6380,如下

 修改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服务即可 

至此:一主二从部署完毕。

posted @ 2024-05-31 14:29  天才卧龙  阅读(193)  评论(0编辑  收藏  举报