1. Redis主从复制
主从复制架构仅仅用来解决数据冗余备份,从节点仅仅用来同步数据(注意当主节点宕机,从节点不能顶上去继续服务,也就是说不支持自动故障转移,要做自动故障转移就要用到哨兵机制)
2. 搭建主从复制
伪分布结构:
Master-主节点 port:6380 bind 0.0.0.0
Slave1-从节点1 port:6381 bind 0.0.0.0 slaveof 主节点IP 主节点端口号
Slave2-从节点2 port:6382 bind 0.0.0.0 slaveof 主节点IP 主节点端口号
在/root目录下,创建3个目录,每个目录代表一台机器:
[root@Cluster-01 ~]# mkdir master slave1 slave2
往每个目录中都放入一个最原始的配置文件:
[root@Cluster-01 ~]# cp redis-4.0.11/redis.conf master/
[root@Cluster-01 ~]# cp redis-4.0.11/redis.conf slave1/
[root@Cluster-01 ~]# cp redis-4.0.11/redis.conf slave2/
[root@Cluster-01 ~]# ls master/
redis.conf
[root@Cluster-01 ~]# ls slave1/
redis.conf
[root@Cluster-01 ~]# ls slave2/
redis.conf
[root@Cluster-01 ~]#
分别修改3台机器的配置文件:
[root@Cluster-01 master]# vim redis.conf
[root@Cluster-01 slave1]# vim redis.conf
[root@Cluster-01 slave2]# vim redis.conf
slave1和slave2:
Slave1-从节点1 port:6381 bind 0.0.0.0 slaveof 主节点IP 主节点端口号
Slave2-从节点2 port:6382 bind 0.0.0.0 slaveof 主节点IP 主节点端口号
slaveof 172.19.8.224 6380
启动3台机器:
[root@Cluster-01 ~]# cd /usr/redis/bin/
[root@Cluster-01 bin]# ls
dump.rdb redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
[root@Cluster-01 bin]# ./redis-server /root/master/redis.conf
主从节点开启成功:
验证:当在master主节点操作数据库是,slave1与slave2也会同步操作,但是从节点是只读文件,不能修改,它不负责外部服务请求