windows10配置redis一主二从三哨兵

windows10配置redis一主二从三哨兵

1.下载Redis安装包,并且复制三份,名字分别为,Redis-6379,Redis-6380,Redis-6381

 2.修改配置文件(redis.windows.conf)

  1.主配置文件修改内容(6379)

#redis访问端口号
port 6379
#(绑定redis访问地址,10.112.11.186是内网地址,即你cmd中ipconfig命令出来的ipv4ip地址,可以是公网ip,也可以是私网ip);
bind  127.0.0.1 

  2. 从配置文件修改内容(6380)

#redis访问端口号
port 6380
#
(绑定redis访问地址,10.112.11.186是内网地址,即你cmd中ipconfig命令出来的ipv4ip地址,可以是公网ip,也可以是私网ip);
bind  127.0.0.1 

  3. 从配置文件修改内容(6381)

#redis访问端口号
port 6381
#(绑定redis访问地址,10.112.11.186是内网地址,即你cmd中ipconfig命令出来的ipv4ip地址,可以是公网ip,也可以是私网ip);
bind  127.0.0.1 

3.启动服务

  1.可以将服务加在bat文件中一键启动

  在redism目录下新建一个 startRedisServer.bat

@echo off
redis-server.exe redis.windows.conf
@pause

  

  2.在和redis文件夹同级建三个cmd 启动文件,start6379.cmd,start6380.cmd,start6381.cmd

@echo off
cd Redis-x64-2.8.2-6379
startRedisServer.bat
@echo off
cd Redis-x64-2.8.2-6380
startRedisServer.bat
@echo off
cd Redis-x64-2.8.2-6381
startRedisServer.bat

 启动后页面

 验证是否79是master,80,81是slave

1.使用连接工具

2.输入 info replication 查看是否和配置的一样

 

 

 这样一主两从就搭建好啦

4.三哨兵搭建

  1.在redis文件夹下建一个 sentinel-26379.conf,sentinel-26380.conf ,sentinel-26381.conf

   2.主配置文件内容(6379)

# 配置 sentinel 端口号
port 26379
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel_26379.log"
# 日志文件存放地址
dir "./"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 63791 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6379 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel down-after-milliseconds mymaster 30000
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面: 
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。  
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel failover-timeout mymaster 180000

   从配置文件(6380、6381)

# 配置 sentinel 端口号
port 26380
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel_26380.log"
# 日志文件存放地址
dir "./"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 63791 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6379 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel down-after-milliseconds mymaster 30000
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面: 
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。  
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel failover-timeout mymaster 180000
# 配置 sentinel 端口号
port 26381
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel_26381.log"
# 日志文件存放地址
dir "./"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 63791 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6379 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel down-after-milliseconds mymaster 30000
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面: 
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。  
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel failover-timeout mymaster 180000

5. 启动三哨兵

  1.用bat文件启动,在redis文件夹下建立一个startRedisSentinel.bat

@echo off
redis-server.exe sentinel-26379.conf --sentinel
@pause

  

  2. 在和redis 同级添加一个cmd 启动哨兵

@echo off
cd Redis-x64-2.8.2-6379
startRedisSentinel.bat

启动后页面

测试当79,挂啦,是否自动切换主机

 81 ----》切到啦master,所以一主两从Redis高可用配置搭建完成

参考blog:https://my.oschina.net/warm6Y/blog/3223398/print

原文地址:https://www.cnblogs.com/zhukaixin/p/12810085.html