一、验证环境

1、操作系统:win10

2、redis版本:redis-2.8.22

 

二、验证步骤:

 

本次验证方案为:采用一主(master)二从(slave)三(sentinel)的架构模式

master ip:127.0.0.1 port:6379
slave0 ip:127.0.0.1 port:6380
slave1 ip:127.0.0.1 port:6381
sentinel-26379 ip:127.0.0.1 port:26379
sentinel-26380 ip:127.0.0.1 port:26380
sentinel-26381 ip:127.0.0.1 port:26381

 

1.下载Redis安装包

解压并且复制三份,名字分别为,Redis-x64-2.8.2-6379,Redis-x64-2.8.2-6380,Redis-x64-2.8.2-6381

redis哨兵模式如何登录 redis哨兵模式验证_redis哨兵模式如何登录

 

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

redis哨兵模式如何登录 redis哨兵模式验证_配置文件_02

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

#redis访问端口号
port 6379
#绑定redis访问地址
bind 127.0.0.1

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

#redis访问端口号
port 6380
#绑定redis访问地址
bind 127.0.0.1
#绑定master服务ip port
slaveof 127.0.0.1 6379

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

#redis访问端口号
port 6381
#绑定redis访问地址
bind 127.0.0.1
#绑定master服务ip port
slaveof 127.0.0.1 6379

 

3.启动redis服务

分别切换到对应目录启动master,slave0,slave1,执行启动命令:

redis-server.exe redis.windows.conf

启动后页面

redis哨兵模式如何登录 redis哨兵模式验证_端口号_03

 

验证是否6379是master,6380和6381是slave

1.使用连接工具

 

redis哨兵模式如何登录 redis哨兵模式验证_redis哨兵模式如何登录_04

连接redis分别执行命令:

info replication

主服务

redis哨兵模式如何登录 redis哨兵模式验证_redis_05

从服务80

redis哨兵模式如何登录 redis哨兵模式验证_redis哨兵模式如何登录_06

从服务81

redis哨兵模式如何登录 redis哨兵模式验证_配置文件_07

验证主从绑定成功!

 

4.三哨兵搭建

 

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

redis哨兵模式如何登录 redis哨兵模式验证_端口号_08

 

redis哨兵模式如何登录 redis哨兵模式验证_配置文件_09

 

redis哨兵模式如何登录 redis哨兵模式验证_端口号_10

4.2 哨兵配置文件内容分别是:

主配置文件内容(6379)

# 配置 sentinel 端口号port 26379# 以守护进程启动daemonize yes# 绑定只在本地使用bind 127.0.0.1# 日志文件名称logfile "sentinel_26379.log"# 日志文件存放地址dir "./"# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6379,1 表示有几个 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)

# 配置 sentinel 端口号port 26380# 以守护进程启动daemonize yes# 绑定只在本地使用bind 127.0.0.1# 日志文件名称logfile "sentinel_26380.log"# 日志文件存放地址dir "./"# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6379,1 表示有几个 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

 

从配置文件(6381)

# 配置 sentinel 端口号port 26381# 以守护进程启动daemonize yes# 绑定只在本地使用bind 127.0.0.1# 日志文件名称logfile "sentinel_26381.log"# 日志文件存放地址dir "./"# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6379,1 表示有几个 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. 启动三哨兵

分别启动sentinel-26379.conf,sentinel-26380.conf ,sentinel-26381.conf

启动命令分别如下:

redis-server.exe sentinel-26379.conf --sentinelredis-server.exe sentinel-26380.conf --sentinelredis-server.exe sentinel-26381.conf --sentinel

 

启动后界面

redis哨兵模式如何登录 redis哨兵模式验证_配置文件_11

 

6.验证主从服务切换

场景:当主服务master6379宕机,剩下两个从服其中一个替换为新的master

redis哨兵模式如何登录 redis哨兵模式验证_redis哨兵模式如何登录_12

 

redis哨兵模式如何登录 redis哨兵模式验证_端口号_13

 

 

redis哨兵模式如何登录 redis哨兵模式验证_redis_14

主从切换验证成功!

如果原来的Master6379又恢复了,理论上他不能成为master,就变成slave,验证步骤

1,恢复6379服务

redis哨兵模式如何登录 redis哨兵模式验证_redis哨兵模式如何登录_15

查看各个服务信息

79服务信息

 

redis哨兵模式如何登录 redis哨兵模式验证_端口号_16

 

80服务信息

 

redis哨兵模式如何登录 redis哨兵模式验证_配置文件_17

81服务信息

 

redis哨兵模式如何登录 redis哨兵模式验证_redis_18

验证成功!

 

7.验证主从服务数据同步

场景:在master80上添加数据,如set name 'fans'

redis哨兵模式如何登录 redis哨兵模式验证_端口号_19

查看79和81从服能否查到name数据

redis哨兵模式如何登录 redis哨兵模式验证_redis_20

 

 

redis哨兵模式如何登录 redis哨兵模式验证_端口号_21

验证结果都可以查到,主从数据同步成功!