搭建环境
1.创建目录
2.拷贝配置文件到每个实例目录
cp /usr/local/src/redis-6.2.6/redis.conf 7001
cp /usr/local/src/redis-6.2.6/redis.conf 7002
cp /usr/local/src/redis-6.2.6/redis.conf 7003
3.修改每个实例的端口、工作目录
sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf
sed -i -e 's/6379/7002/g' -e 's/dir .\//dir \/tmp\/7002\//g' 7002/redis.conf
sed -i -e 's/6379/7003/g' -e 's/dir .\//dir \/tmp\/7003\//g' 7003/redis.conf
4.修改每个实例的声明IP
虚拟机本身有多个IP,为了避免混乱,我们需要再redis.conf文件中指定每一个实例绑定的ip信息,格式如下
sed -i '1a replica-announce-ip 192.168.99.100' 7001/redis.conf
sed -i '1a replica-announce-ip 192.168.99.100' 7002/redis.conf
sed -i '1a replica-announce-ip 192.168.99.100' 7003/redis.conf
5.启动Redis
6.开启主从关系
现在三个实例没有任何关系,要配置主从可以使用replicaof 或者slaveof (5.0以前)命令
有临时和永久两种模式:
1.修改配置文件(永久生效)
在redis.conf中添加一行配置: slaveof <masterip> <masterport>
2.使用redis-cli客户端连接到redis服务,执行slaveof命令(重启后失效):
slaveof <masterip> <masterport>
Note: 在5.0以后新增命令replicaof, 与slaveof效果一致.
查询主从信息 INFO replication 指令
当在master节点写操作,会同步到slave 节点上,但是在slave节点上写,则会报error
总结:
数据同步原理
全量同步
slave 日志
master 日志
总结
增量同步
全量 & 增量 总结
优化主从集群