本例环境:
Redis-x64-3.2.100
下载地址:
https://github.com/MicrosoftArchive/redis/releases
分享:
现在项目中应用集群,但是都是已经搭建完成的,于是参考网上博客搭建测试,为深入研究做个铺垫.
本例使用3个redis实例搭建哨兵模式集群,即组成一主二从三哨兵架构.
1.将本例使用的版本解压到D:\aServ\re
Redis-x64-3.2.100.zip
2.安装配置
2.1在D:\aServ\re准备3份实例分别命名如下
Redis-master-6379
Redis-slave-6380
Redis-slave-6381
2.2配置主节点与从节点端口以及依赖关系
分别在对应实例中找到redis.windows.conf文件进行配置
Redis-master-6379 的redis.windows.conf中配置:
port 6379
Redis-slave-6380 的redis.windows.conf中配置:
port 6381
slaveof 127.0.0.1 6379
Redis-slave-6381 的redis.windows.conf中配置:
port 6380
slaveof 127.0.0.1 6379
2.3哨兵配置
分别在对应实例中分别建立哨兵配置文件命名为sentinel.conf
Redis-master-6379 的sentinel.conf中配置:
port 36379
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 9
sentinel leader-epoch mymaster 9
Redis-slave-6380 的sentinel.conf中配置:
port 36380
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 9
sentinel leader-epoch mymaster 9
Redis-slave-6381 的sentinel.conf中配置:
port 36381
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 9
sentinel leader-epoch mymaster 9
2.4编写启动脚本
启动redis脚本,命名startup.bat
Redis-master-6379的startup.bat内容:
title master_6379
redis-server.exe redis.windows.conf
Redis-slave-6380的startup.bat内容:
title slave_6380
redis-server.exe redis.windows.conf
Redis-slave-6381的startup.bat内容:
title slave_6381
redis-server.exe redis.windows.conf
启动sentinel脚本,命名 startup_sentinel.bat
Redis-master-6379的 startup_sentinel.bat内容:
title sentinel_6379
redis-server.exe sentinel.conf --sentinel
Redis-slave-6380的 startup_sentinel.bat内容:
title sentinel_6380
redis-server.exe sentinel.conf --sentinel
Redis-slave-6381的 startup_sentinel.bat内容:
title sentinel_6381
redis-server.exe sentinel.conf --sentinel
2.5点击脚本启动redis和哨兵
redis:
哨兵:
2.6测试
登入redis,在对应实例目录下:
命令:
redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381
都执行: info replication
截图:
测试主节点写从节点读取:
从节点不能写数据
本例出错:
在sentinel.conf写配置文件时,确保没有无关字符, 比如中文格式下的隐藏字符.
以上,感谢.
.