Windows 环境下配置搭建Redis集群

此文中配置搭建的集群结构为, 1 Master, 2 Slavers and 3 Sentinel 总共6台redis-servers, 其中Master提供可写可读服务, Slavers 只提供读服务, 剩下的Sentinel不提供任何数据服务, 只负责一一对应的监听前面的Master和Slavers, 帮助进行当Master fail down时可以选举出新的Master以维持集群正常运作;


1 . 获取Windows环境下的Redis压缩包, 访问 Redis_V

2 . 解压缩到本地机器的任意目录, 复制三份出来分别为A, B 和C, 这里会最初配置A中的redis standalone mode server 为master, 另外B与C中的为Slavers, 另外A,B,C中会分别启动一个Sentinel, 总共就产生6个Redis Server;

3 . 修改A中配置文件, ’ redis.windows.conf ‘

port 7000
#dir .\server-7000\state

复制 ’ redis.windows.conf ‘, 命名为 ‘redis.windows.sentinel.conf’ , 并修改

port 17000
#dir .\server-7000\state
sentinel monitor mymaster 127.0.0.1 7000 2

4 . 修改B中的配置文件, ’ redis.windows.conf ‘

port 7001
#dir .\server-7000\state
slaveof 127.0.0.1 7000

复制 ’ redis.windows.conf ‘, 命名为 ‘redis.windows.sentinel.conf’ , 并修改


port 17001
#dir .\server-7001\state
sentinel monitor mymaster 127.0.0.1 7000 2

5 . 修改C中的配置文件, ’ redis.windows.conf ‘

port 7002
#dir .\server-7002\state
slaveof 127.0.0.1 7000

复制 ’ redis.windows.conf ‘, 命名为 ‘redis.windows.sentinel.conf’ , 并修改


port 17002
#dir .\server-7002\state
sentinel monitor mymaster 127.0.0.1 7000 2

6 . 再为上个三个redis server文件目录里添加两个启动server的脚本
启动server ‘start-server.cmd’

@echo off
SET redis_server=redis-server

pushd 
start %redis_server% redis.windows.conf
popd

启动哨兵 ‘start-sentinel.cmd’

@echo off
SET redis_server=redis-server

pushd 
start %redis_server% redis.windows.sentinel.conf --sentinel
popd

7 . 操作验证, 当提供Master服务挂掉后, 哨兵(sentinel)会从Slavers里面选举出新的Master

a. 分别期待双击执行A,B,C中的 ‘start-server.cmd’文件, 启动初始的Master server A与 Slavers B, C; 命令行控制台会输出日志;

b. 再分别期待双击执行A,B,C中的 ‘start-sentinel.cmd’文件, 启动初始的三个哨兵 A’与 B’, C’; 命令行控制台会输出日志;

c. 从新打开一个命令行用 ‘redis-cli’ 连接到7000, 7001,7002测试数据读写服务,一切正常;

d. 关掉Redis Server A, 会发现B和C会持续报错连接不到Master, 当到达超时时间后, 三个哨兵会从B和C之间选一个新的Master出来, 继续提供服务;

PS: 这里提供一个现成的已经配置好的, 包含Windows, Linux 与 Osx环境下集群配置包 redis-config ;

猜你喜欢

转载自blog.csdn.net/hinstenyhisoka/article/details/53955592