Redis主从复制
Redis主从复制
主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据。如果主节点因为某些原因出现了故障导致宕机,无法接收数据,那么从节点也会与主节点断开连接。
无法解决:master(主)节点出现故障的自动故障转移
1.主从架构图

2.演示——搭建主从复制架构(做之前要拍快照,防止出现问题 版本:redis7.0.0 )
步骤
- 
创建三个目录代表三台机器,master、node1、node2 mkdir master![image-20220815201701235]() 
- 
拷贝redis安装目录下源码中的redis.conf文件分别到三个目录中。 [root@master redis-install]# cp redis-7.0.0/redis.conf ./master/
- 
修改三台机器的配置,修改端口号,开启远程连接,配置主节点是谁 ![image-20220815202811362]() - master 将本地的ip地址注释掉 #bind 127.0.0.1 port 7000(这是主节点的端口号,数字自己设置) protected-mode no(将外部连接保护改成no) - node1 将本地的ip地址注释掉 #bind 127.0.0.1 port 7001 protected-mode no 将replicaof <masterip> <masterport> 改成 replicaof 192.168.137.150(主机ip地址) 7000(主节点端口号) - node2 将本地的ip地址注释掉 #bind 127.0.0.1 port 7002 protected-mode no 将replicaof <masterip> <masterport> 改成 replicaof 192.168.137.150(主机ip地址) 7000(主节点端口号)
- 
启动三台机器进行测试 cd /usr/local/soft/bigdata17/redis-install redis-server ./master/redis.conf redis-server ./node1/redis.conf redis-server ./node2/redis.conf![image-20220815203633459]() 
- 
分别连接主节点和两个从节点 redis-cli -p 7000![image-20220815203751842]() ![image-20220815203844966]() 可以观察到在主节点设置一个key/value值,在从节点能直接获取,说明主节点中的数据复制到了从节点中 
- 
如果我将主节点的进程杀死,从节点会发生什么,会不会代替主节点的工作 ![image-20220815204822715]() ![image-20220815204904382]() 问题: 很明显,从节点全部与主节点断开了连接,如果我们想在主节点宕机的时候让从节点出来接替主节点的工作,成为新的主节点该如何实现呢,请关注伍点下一篇博客--redis架构之哨兵机制与集群。 
 
                    
                







 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号