码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群


    目录

    3主3从redis集群配置

    一、新建6个docker容器redis实例

    二、进入容器redis-node-1并为6台机器构建集群关系

     三、链接进入6381作为切入点,查看节点状态

    四、​​​​​​​主从容错切换迁移案例

    1.数据读写存储

    2.容错切换迁移

    也可以查看这篇在CentOS上搭建:Redis 集群 

    3主3从redis集群配置

    一、新建6个docker容器redis实例

    1. docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
    2. docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
    3. docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
    4. docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
    5. docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
    6. docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

    查看效果:

    命令参数说明:

    • docker run        创建并运行docker容器实例
    • --name redis-node-6        容器名字
    • --net host        使用宿主机的IP和端口,默认
    • --privileged=true        获取宿主机root用户权限
    • -v /data/redis/share/redis-node-6:/data        容器卷,宿主机地址:docker内部地址
    • redis:6.0.8        redis镜像和版本号
    • --cluster-enabled yes        开启redis集群
    • --appendonly yes        开启持久化
    • --port 6386        redis端口号

    二、进入容器redis-node-1并为6台机器构建集群关系

    1. #1. 进入容器
    2. docker exec -it redis-node-1 /bin/bash
    3. #2. 构建主从关系
    4. redis-cli --cluster create 192.168.78.133:6381 192.168.78.133:6382 192.168.78.133:6383 192.168.78.133:6384 192.168.78.133:6385 192.168.78.133:6386 --cluster-replicas 1
    5. --cluster-replicas 1 表示为每个master创建一个slave节点,两两配对

    3主3从构建成功:

     三、链接进入6381作为切入点,查看节点状态

    四、​​​​​​​主从容错切换迁移案例

    1.数据读写存储

    在6381写入数据,有些会报错,这是因为在集群环境中数据自动分配哈希槽导致:

    解决办法:加入参数-c,进入集群模式

    ​​​​​​​查看集群信息        cluster check

    2.容错切换迁移

    (1)主机6381和从机切换,先停止主机6381

    6381主机停了,对应的从机6386上位

    6381作为1号主机分配的从机以实际情况为准,具体是几号机器就是几号

    (2)重启6381,变为从机了 

    (3)停止6386,让6381上位变为master

    (4)恢复6368,重新变为从机

    以往操作说明,无论那台宕机了,数据都不会消失。 

  • 相关阅读:
    实操客群分层|无监督训练与有监督评估,面试中这两大类风控模型最会被问到的问题
    HarmonyOS UI 开发
    Ubuntu环境下安装OWT (Open WebRTC Toolkit)
    【注解和反射】获取类运行时结构
    好用的WPF开源UI框架项目
    布隆过滤器浅析
    总结最近遇到的几个问题
    Dlib+Opencv库实现疲劳检测
    637. 二叉树的层平均值
    【教3妹学编程-java基础6】详解父子类变量、代码块、构造函数执行顺序
  • 原文地址:https://blog.csdn.net/weixin_46560589/article/details/127073203
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号