zoukankan      html  css  js  c++  java
  • docker redis主从复制

    一、首先搭建三个redis服务

    创建三个文件配置目录以及数据目录

    创建的目录为/docker/redis/conf

    运行一下命令,既启动三个redis

    docker run -p 6379:6379 --name redis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes
    docker run -p 6380:6379 --name redis_blank -v /docker/redis/conf2/redis.conf:/etc/redis/redis.conf -v /docker/redis/data2:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes
    docker run -p 6381:6379 --name redis_blank2 -v /docker/redis/conf3/redis.conf:/etc/redis/redis.conf -v /docker/redis/data3:/data -d dcf9ec9265e0 redis-server /etc/redis/redis.conf --appendonly yes

    二、使用docker 命令进入容器

    docker exec -it 容器名称或镜像ID /bin/bash

    三、使用客户端命令登录redis

    redis-cli -h 127.0.0.1 -p 端口号

    使用info replication 命令时,会发现三个redis的信息都为master

    环境配置:

    使用6379 作为主库,其他均为从库;在配置从库时 不用配置主库即可,

    在从库的redis服务中:使用如下命令

    slaveof 主库容器的IP地址 端口号 即可;

    PS:如出现 Redis主从复制失败(master_link_status:down) 则检查网络是否通畅,检查主库是否设置了密码,检查防火墙端口;

    使用docker时,不能用 slaveof 127.0.0.1 6379 ;因为127.0.0.1 不是主库的的IP 是本地的,所以使用docker 命令查看容器IP:docker inspect 容器名称或命令 如: docker inspect redis

     四、以上为主从配置的环境

    测试步骤:首先在从库设置一个键: 如

    从库:

     详细博客: https://blog.csdn.net/iechenyb/article/details/79828413

     详细概念: https://www.cnblogs.com/wade-luffy/p/9639986.html

    小问题?

    主库挂了,从库还能读取到数据吗?

    答:必须的,主库挂了,从库依然可以获取数据

    主库宕机之后,在重启 依然还是主库。

    主库挂了,如何让从库变为主库?(冷处理)

    可以手动设置,在从库的服务上:使用以下命令 slaveof no one  将slave提升为master,在把宕机的主库手动设置为从库,使用 slvaeof ip 端口号;

    热处理

     redis哨兵模式

  • 相关阅读:
    SQL Server 2008 PREEMPTIVE_OS_GETPROCADDRESS 等待类型
    数据库使用 jemalloc 内存优化算法
    my.cnf 推荐配置
    WIN 命令合成一个大内存的图片怎么搞
    jupyter notebook加载DDP预训练模型
    model.add_module
    einsum爱因斯坦求和
    skimage.measure.label
    easyocr下载模型失败
    测试面试题 05
  • 原文地址:https://www.cnblogs.com/hellohero55/p/12545822.html
Copyright © 2011-2022 走看看