数据人与超自然意识 发表于 2022-9-16 17:18:44

Redis主从复制

Redis主从复制

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

https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815201158077-118852182.png
2.演示——搭建主从复制架构(做之前要拍快照,防止出现问题 版本:redis7.0.0 )

步骤

[*]创建三个目录代表三台机器,master、node1、node2
mkdir masterhttps://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815201701792-105131136.png
[*]拷贝redis安装目录下源码中的redis.conf文件分别到三个目录中。
# cp redis-7.0.0/redis.conf ./master/
[*]修改三台机器的配置,修改端口号,开启远程连接,配置主节点是谁
https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815202812005-349872576.png
- 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.confhttps://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815203634036-189497009.png
[*]分别连接主节点和两个从节点
redis-cli -p 7000https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815203752218-367134851.png
https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815203851472-1666941526.png
可以观察到在主节点设置一个key/value值,在从节点能直接获取,说明主节点中的数据复制到了从节点中
[*]如果我将主节点的进程杀死,从节点会发生什么,会不会代替主节点的工作
https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815204823561-1548062916.png
https://img2022.cnblogs.com/blog/2943439/202208/2943439-20220815204904922-2016143588.png
问题:
很明显,从节点全部与主节点断开了连接,如果我们想在主节点宕机的时候让从节点出来接替主节点的工作,成为新的主节点该如何实现呢,请关注伍点下一篇博客--redis架构之哨兵机制与集群。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Redis主从复制