Redis主从复制

Redis主从复制

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

无法解决:master(主)节点出现故障的自动故障转移

1.主从架构图

image-20220515185529716

2.演示——搭建主从复制架构(做之前要拍快照,防止出现问题 版本:redis7.0.0 )

步骤

  1. 创建三个目录代表三台机器,master、node1、node2

    mkdir master
    

    image-20220815201701235

  2. 拷贝redis安装目录下源码中的redis.conf文件分别到三个目录中。

    [root@master redis-install]# cp redis-7.0.0/redis.conf ./master/
    
  3. 修改三台机器的配置,修改端口号,开启远程连接,配置主节点是谁

    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(主节点端口号)
    
  4. 启动三台机器进行测试

    cd /usr/local/soft/bigdata17/redis-install
    redis-server ./master/redis.conf
    redis-server ./node1/redis.conf
    redis-server ./node2/redis.conf
    

    image-20220815203633459

  5. 分别连接主节点和两个从节点

    redis-cli -p 7000
    

    image-20220815203751842

    image-20220815203844966

    可以观察到在主节点设置一个key/value值,在从节点能直接获取,说明主节点中的数据复制到了从节点中

  6. 如果我将主节点的进程杀死,从节点会发生什么,会不会代替主节点的工作

    image-20220815204822715

    image-20220815204904382

    问题:

    很明显,从节点全部与主节点断开了连接,如果我们想在主节点宕机的时候让从节点出来接替主节点的工作,成为新的主节点该如何实现呢,请关注伍点下一篇博客--redis架构之哨兵机制与集群。

posted @   伍点  阅读(136)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示