redis主从+哨兵,一站到底。没有废话,全是干货
简介:本文使用redis版本3.0+,版本不同时,配置会有些许差异。
目的:嫌集群太大,用不上;嫌单机太小,有点low。。那就使用主从+哨兵
老规矩:用上了,给个赞!!!
搭建redis主从的文件结构,看红框
一、主从配置
1.1 主从主从,一主两从。数量可以配置多个,但总数一定得是单数。
创建三个文件夹:8010,8011,8012。这三个文件夹就是放主从的配置文件,首次定义,我以8010为主,其他为从。
1.2 将redis.windows.conf文件复制到各个文件夹。复制后,并重命名(主要是方便自己看。。。)
1.3 修改conf配置。主库不用动,也就是8010.conf不动,我们动从库。
找到slaveOf标签,在下面添加标签
# slaveof <masterip> <masterport>
格式: slaveof 主机的ip 主机的端口
slaveof 10.8.8.177 8010
注意:所有从库都需要加
主从配置完成。。那就测试一下吧。
二、主从测试
2.1 redis根目录,打开cmd,使用命令启动服务
分别将三个服务都启动,修改命令的路径即可。比如8010改成8011,8012
redis-server.exe E:\Redis-x64-3.0.504\8010\redis.windows_8010.conf
2.2 启动完成后,可以看到cmd窗口的变化,自行看吧。。
2.3 查看主节点信息
使用命令进入主节点,我这边测试过了,我的主节点变成了8011,刚开始搭建,用8010
redis-cli.exe -h IP -p 端口
redis-cli.exe -h 10.8.8.177 -p 8011
进入节点后,使用命令查看节点信息
info replication
2.4 查看从节点信息,命令参考2.3,使用从节点端口号即可
2.5 自行测试
主节点可读可写,从节点只读。主节点写入数据后,从节点是否能读取。读取成功,表示主从搭建完成
三、哨兵搭建
3.1 在每个服务(8010,8011,8012)里面创建文件:sentinel.conf
3.2 sentinel.conf的配置
哨兵配置,监听redis服务。
其他文件同理新增然后改一下端口即可,28011,和 28012。
#当前Sentinel服务运行的端口,端口不能重复,为了方便理解。端口号前加个2,即原来的8010 -> 28010
port 28010
# 哨兵监听的主服务器
sentinel monitor mymaster 10.8.8.177 8010 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel config-epoch mymaster 8
sentinel monitor参数介绍
sentinel monitor [master-group-name] [ip] [port] [quorum]
master-group-name:master名称(可以自定义)
ip port : IP地址和端口号
quorun:票数,Sentinel需要协商同意master是否可到达的数量。
解释:第一行配置指示 Sentinel 去监视一个名为 mymaster 的主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 , 而将这个主服务器判断为失效至少需要 2 个 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)。
票数在本文中:redis集群中有3个sentinel实例,其中master挂掉啦,这里设置票数为2,表示有2个sentinel认为master挂掉啦,才能被认为是正真的挂掉啦。
3.3 编写启动文件,用来启动哨兵
- 分别在每个redis目录内创建启动文件startRedisSentinel.bat,8010,8011,8012目录内都要创建
- 修改这个文件
@echo off redis-server.exe sentinel.conf --sentinel @pause
- 在redis根目录下创建startRedisSentinel28010.cmd
- 修改文件
@echo off cd 8010 startRedisSentinel.bat
- 双击各个cmd启动。前提是之前的8010,8011,8012服务已启动
你会得到三个cmd窗口。启动时,可以看到窗口的变化
四、恭喜你,哨兵已经搭建完成了。测试下吧
4.1尝试下主节点下机。然后看看刚才那三个窗口的变化。
我的主节点是8011 。。搭建时你们应该是8010
4.2 进入8010节点,查看节点信息
五、大功告成。。给个赞!给个赞!给个赞!重要的事说三遍
搭建完了,又好像没做完。。还没整合到项目呢