Redis主从和哨兵搭建
今天主要分享Redis主从架构和哨兵的搭建。
主从集群搭建
总共三个节点,一个主节点和两个从节点。都安装在一台机器上模拟主从集群,信息如下:
IP | PORT | 角色 |
---|---|---|
192.168.246.140 | 7001 | slave |
192.168.246.140 | 7002 | master |
192.168.246.140 | 7003 | slave |
我们只需要准备三分配置文件和目录
- 创建三个目录7001、7002、7003,关闭AOF,开启RDB
save 3600 1
save 300 100
save 60 10000
# 关闭AOF
appendonly no
- 拷贝各个配置文件到实例目录
cp redis/redis.conf 7001
cp redis/redis.conf 7002
cp redis/redis.conf 7003
- 修改每个实例的端口、工作目录
修改每个文件夹内的配置文件,将端口分别修改为7001、7002、7003和rdb文件保存位置改成自己所在目录
- 修改每个实例的IP,在Redis.conf文件指定每一个实例的IP信息
# redis实例的声明 IP
replica-announce-ip 192.168.246.140
- 在配置文件中
- 修改配置文件(永久生效)要配置主从可以使用replicaof 或者slaveof
replicaof 192.168.246.140 7002
查看集群的信息
只能在master上添加数据,在slave上只能查看
哨兵集群搭建
这里我们在搭建一个三节点形成的Sentinel集群,监管之前的Redis主从 集群。
哨兵的信息如下:
node | IP | PORT |
---|---|---|
s1 | 192.168.246.140 | 27001 |
s2 | 192.168.246.140 | 27002 |
s3 | 192.168.246.140 | 27003 |
配置
和前面主从一样,我们需要先准备三分不同的配置文件和目录,名字分别为s1、s2、s3
- 创建一个sentinel.conf
port 27001
sentinel announce-ip "192.168.246.140"
sentinel monitor mymaster 192.168.246.140 7002 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
dir "/root/redis/s1"
其中port是端口,192.168.246.140 7002 2 主节点名称,端口,2代表的是选举master的quorum值
- 复制该文件到s2和s3中
cp s1/sentinel.conf s2
- 修改三个对应的端口
启动后
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhtT0p0U-1677217020646)(C:\Users\DY\AppData\Roaming\marktext\images\2023-02-24-13-27-45-image.png)]
测试
我们让7002master节点宕机,查看sentinel日志
查看7003新master日志
重启7002后,7002会成为slave节点
总结
本文主要介绍了哨兵集群和主从的搭建过程以及对应的测试,除此之外应该还有Redis分片集群的搭建。