一、主从同步过程
过程:
- slave节点发送同步亲求到master节点
- slave节点通过master节点的认证开始进行同步
- master节点会开启bgsave进程发送内存rbd到slave节点,在此过程中是异步操作,也就是说 master节点仍然可以进行写入动作
- slave节点收到rdb后首先清空自己的所有数据
- slave节点加载rdb并进行数据恢复
- 在master和slave同步过程中master还会开启新的bgsave进程把没有同步的数据进行缓存
- 然后通过自有的replactionfeedslave函数把未通过内存快照发动到slave的数据一条一条写入到 slave中
二、配置主从同步
环境配置:
redis-node1 master 172.25.254.10
redis-node2 slave 172.25.254.20
redis-node3 slave 172.25.254.30
1、修改master节点的配置文件
node1、node2、node3:
[root@redis-node1 & node2 & node3 ~]# vim /etc/redis/6379.conf
protected-mode no #关闭protected模式
[root@redis-node1 &node2 & node3 ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
2、配置slave节点
node2、node3:
[root@redis-node2 & node3 ~]# vim /etc/redis/6379.conf
#添加replicaof <master_ip> <master_port> 使其成为指定主节点的从节点
replicaof 172.25.254.10 6379
[root@redis-node2 & node3 ~]# /etc/init.d/redis_6379 restart
Stopping ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Starting Redis server...
3、测试效果
master节点:
在slave节点查看: