Redis搭建主从复制、哨兵集群
相关:
主从复制搭建
主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据
无法解决master(主节点)出现故障的自动故障转移
主从复制架构图:
准备三台机器并修改对应的配置文件
由于我没有三台机器,故在单台机上开启三个redis服务来模拟主从复制
- 准备三份配置文件,修改对应的配置
- master
port 6379 #指定端口号
bind 0.0.0.0 #允许任意远程连接
- slave1
port 6380
bind 0.0.0.0
slaveof masterip masterport # slaveof 192.xxx.xx.xxx 6379
- slave2
port 6381
bind 0.0.0.0
slaveof masterip masterport # slaveof 192.xxx.xx.xxx 6379
从节点的指定在配置文件中的位置如下:
2.启动三台机器进行测试
- cd /usr/redis/bin
- ./redis-server /root/master/redis.conf
- ./redis-server /root/slave1/redis.conf
- ./redis-server /root/slave2/redis.conf
如果搭建成功,你在master可以进行写操作,在从节点可以看到数据都会进行同步,但是从节点无法进行写操作!
启用哨兵机制
哨兵机制是在主从复制的基础上进行的
Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构。
哨兵架构原理图:
1.在主节点上创建哨兵配置
- 在Master对应redis.conf同目录下新建sentinel.conf文件,名字绝对不能错;
2.配置哨兵,在sentinel.conf文件中填入内容:</