本文介绍Redis在windows上的高可用配置——哨兵部署。

一、先简单介绍一下哨兵高可用原理

(了解的可以直接跳过)

export redis哨兵 redis哨兵部署_高可用


1 主从redis服务器。为了预防主实例master挂掉,额外增加两个slave实例,时刻与master信息同步以备用。

2 哨兵智能选举master。为了在master挂掉之后能够智能地采用slave实例,而不用手动去变更,配备哨兵sentinel来做监控器,以调配出master。以此完成高可用。

二、安装步骤

以下步骤先对Redis主从服务,哨兵服务进行配置,配置好之后再依次启动,启动完成后再做验证。验证步奏可以穿插在启动步奏中,可以验证从服务器是否启动成功,以免影响哨兵服务器的启动。

1.Redis安装

2 Redis实例分配

2.1 Redis主从配置
在Redis安装目录下找到redis启动配置文件——redis.window.conf文件,复制两份作为从服务的启动文件。

export redis哨兵 redis哨兵部署_export redis哨兵_02


修改两个从文件的配置内容,设置port和slaveof

port 6380
slaveof 127.0.0.1 6379
masterauth yourpassword    #若有密码这里需要设置

2.2 Redis哨兵配置
新建三个配置文件,一般命名为sentinel.conf,其他两个文件命名为sentinel26479.conf、sentinel26579.conf.

export redis哨兵 redis哨兵部署_部署_03


配置文件内容:

(这里要注意的是,需要在port前面设置bind 127.0.0.1 不然会报错,因为Redis哨兵请求的是基于Pv6协议的网络;mymaster是你自己命名的主,如果你有其他命名,要对应)

bind 127.0.0.1
port 6388
sentinel myid df74029ad5ecbd7677fe8a9e18a97ee086e721c2
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster yourpassword

2.3 Redis实例启动
2.3.1 启动master

redis-server redis-window.conf

2.3.2 启动slave

redis-server redis6380.conf
redis-server redis6381.conf

启动成功界面:

export redis哨兵 redis哨兵部署_redis_04


2.3.3 启动哨兵

redis-server sentinel.conf --sentinel
redis-server sentinel26479.conf --sentinel
redis-server sentinel26579.conf --sentinel

启动成功界面:

export redis哨兵 redis哨兵部署_部署_05


2.4 验证

(1) 验证slave

进入master实例的客户端

redis-cli -h 127.0.0.1 -p 6479 -a yourpassword

客户端交互模式下输入,查看是否能获取到slave连接信息

info replication

export redis哨兵 redis哨兵部署_高可用_06


(2) 验证sentinel

进入sentinel实例的客户端

redis-cli -h 127.0.0.1 -p 26379 -a yourpassword

客户端交互模式下输入

info sentinel

export redis哨兵 redis哨兵部署_windows_07


如有不足之处,欢迎指出。