docker搭建redis集群模式

news2025/1/17 6:10:16

目录

  • docker 安装redis
    • 1.创建redis.conf
      • 开启redis验证(开启密码)
      • 允许redis外地连接
      • 后台启动
      • 开启redis持久化
    • 2.启动redis容器
    • 3.进入容器
  • redis集群3主3从
    • 1.新建6个redis容器
    • 2.构建主从关系
    • 3.查询集群信息
    • 4.主从扩容
    • 5.主从缩容

docker 安装redis

1.创建redis.conf

开启redis验证(开启密码)

requirepass 123456

允许redis外地连接

注释掉 # bind 127.0.0.1

后台启动

daemiomze no

将daemonize yes注释起来或者daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败

开启redis持久化

appendonly yes

2.启动redis容器

docker run -p 6379:6379 --name myredis --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

3.进入容器

docker exec -it myredis /bin/bash

redis-cli进入操作界面

redis集群3主3从

1.新建6个redis容器

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

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

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

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

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

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

2.构建主从关系

进入容器:

 docker exec -it redis-node-1 /bin/bash

(127.0.0.1)主机ip

redis-cli --cluster create 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6385 127.0.0.1:6384 127.0.0.1:6386 --cluster-replicas 1

(172.17.48.78)主机ip不行

redis-cli --cluster create 172.17.48.78:6381 172.17.48.78:6382 172.17.48.78:6383 172.17.48.78:6384 172.17.48.78:6385 172.17.48.78:6386 --cluster-replicas 1

–cluster-replicas 1 为每一个master创建一个slave结点

image-20230228154729734

image-20230228154741033

3.查询集群信息

进入界面

redis-cli -p 6381

查询info

cluster info

image-20230228155047212

cluster nodes

image-20230228155122962

检查数据

 redis-cli --cluster check 127.0.0.1:6381

image-20230228200810597

停止redis-node-1发现,从结点变为主结点

image-20230228201450382

重新启动redis-node-1,变为从结点

image-20230228201839783

4.主从扩容

docker run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data  redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387

docker run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data  redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388

image-20230228202648657

进入7号机

docker exec -it redis-node-7 bash

加入集群

redis-cli --cluster add-node 127.0.0.1:6387 127.0.0.1:6381

image-20230228203434802

查看加入情况

 redis-cli --cluster check 127.0.0.1:6381

image-20230228203600145

没有分配槽位

重新分配槽号

redis-cli --cluster reshard 127.0.0.1:6381

image-20230228203827853

16384/4 = 4096

image-20230228204144414

槽位会将之前的分别分给新的结点

增加从机

redis-cli --cluster add-node 127.0.0.1:6388 127.0.0.1:6387 --cluster-slave --cluster-master-id 2973761cb8b5af591c4601c715aa98022ffabacb

2973761cb8b5af591c4601c715aa98022ffabacb是主机6387的编号

image-20230228204731273

redis-cli --cluster check 127.0.0.1:6381

image-20230228204757694

5.主从缩容

先去出从结点的6388

redis-cli --cluster del-node 127.0.0.1:6388 dc2a65d1a3a20f56a781c1f51930333b71dd5684

image-20230228205557766

image-20230228205630245

重新分配槽位

redis-cli --cluster reshard 127.0.0.1:6381

image-20230228210204063

image-20230228210257164

从集群中删除

redis-cli --cluster del-node 127.0.0.1:6387 2973761cb8b5af591c4601c715aa98022ffabacb

image-20230228210512523

image-20230228210538864

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第四阶段-12关于Spring Security框架,RBAC,密码加密原则

关于csmall-passport项目 此项目主要用于实现“管理员”账号的后台管理功能,主要实现: 管理员登录添加管理员删除管理员显示管理员列表启用 / 禁用管理员 关于RBAC RBAC:Role-Based Access Control,基于角色的访问控制 在涉及…

Feign Ribbon Hystrix 三者关系

在微服务架构的应用中, Feign、Hystrix,Ribbon 三者都是必不可少的,可以说已经成为铁三角。 Feign 介绍 Feign 是一款Java语言编写的 HttpClient 绑定器,在 Spring Cloud 微服务中用于实现微服务之间的声明式调用。Feign 可以定…

IIC子系统

文章目录引言一、I2C 总线驱动框架二、I2C驱动框图(重点)三、I2C 子系统软件框架3.1 I2C子系统的4个关键结构体3.2 I2C总线与平台总线的结合3.3 在设备树信息添加i2c从设备3.4 新增加i2c从设备四、i2c driver驱动的编写4.1 陀螺仪和加速度工作原理4.2 mpu6050的寄存器信息和设置…

Synchronized的锁升级过程

Synchronized的锁升级过程 synchronized锁升级过程:在synchronized中引入了偏向锁、轻量级锁、重量级锁之后,当前具体使用的是synchronzed中的那种类型锁,是根据线程竞争激烈程度来决定的。 偏向锁:在锁对象的对象头中记录一下当…

中间件之Kafka实用篇

目录标题一、一些定义(一)设计kafka的初衷(二)消息的持久化(三)sendfile 技术(零拷贝)二、获取kafka三、卡夫卡客户端工具四、kafka核心API(功能)五、spring …

阶段十:总结专题(第三章:虚拟机篇)

阶段十:总结专题(第三章:虚拟机篇)Day-第三章:虚拟机篇1. JVM 内存结构2. JVM 内存参数3. JVM 垃圾回收4. 内存溢出5. 类加载6. 四种引用7. finalizeDay-第三章:虚拟机篇 1. JVM 内存结构 要求 掌握 JVM…

Spring Cloud Alibaba全家桶(三)——微服务负载均衡器Ribbon与LoadBalancer

前言 本文为 微服务负载均衡器Ribbon与LoadBalancer 相关知识,下边将对什么是Ribbon(包括:客户端的负载均衡、服务端的负载均衡、常见负载均衡算法),Nacos使用Ribbon,Ribbon内核原理(包括&#…

Qt::QOpenGLWidget 渲染天空壳

在qt窗口中嵌入opengl渲染天空壳和各种立方体一 学前知识天空壳的渲染学前小知识1 立方体贴图 天空壳的渲染就是利用立方体贴图来实现渲染流程2 基础光照 光照模型3 opengl帧缓冲 如何自定义帧缓冲实现后期特效4 glsl常见的shader内置函数 glsl编程常用的内置函数二 shader代码…

部署运行ai智障写作记录【ChatRWKV】

文章目录前言一、环境安装1.python环境:Python 3.10。2.安装一些 pip 库numpy 、tokenizers 、prompt_toolkit3.安装pytorch 1.13.1CUDA 11.7二、运行记录1、下载代码2、下载训练参数3、编辑代码运行总结前言 看到知乎一篇教程, 大佬自己弄得ai小说续写…

AI环境搭建步骤(Windows环境)

1. 安装好Anaconda3版本(1) 安装链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?CM&OD本文使用Anaconda3下载链接:Anaconda5(2) 注意安装anaconda时一定要把环境变量加入windows环境中。要没有勾选,安装完后还有手动加入…

线性代数学习-2

线性代数学习-2矩阵消元消元回代消元矩阵置换矩阵逆矩阵本文转载于https://herosunly.blog.csdn.net/article/details/88713747 该文章本人认为十分有用,便自己敲一遍笔记加固印象原文链接 原文这个笔记感觉比我老师讲的更加透彻,清晰。很好的展示了线性…

车辆热管理测试方案

车辆热管理是在能源危机出现、汽车排放法规日益严格以及人们对汽车舒适性要求更高的背景下应运而生的。将各个系统或部件如冷却系统、润滑系统和空调系统等集成一个有效的热管理系统;控制和优化车辆的热量传递过程,保证各关键部件和系统安全高效运行&…

《C++ Primer Plus》(第6版)第5章编程练习

《C Primer Plus》(第6版)第5章编程练习《C Primer Plus》(第6版)第5章编程练习1. 计算闭区间内的整数和2. 重新编写程序清单5.43. 累加4. 投资价值5. 销售情况6. 销售情况27. 汽车8. 统计单词数量9. 统计单词数量210. 嵌套循环《…

(五十)大白话深入研究索引之前,先来看看磁盘数据页的存储结构

前面我们已经给大家把MySQL数据库的部分内核原理,更新语句的执行原理,事务原理以及锁原理,都初步的讲给大家听了,同时还穿插了一些相关的数据库性能优化的案例,相信现在大家已经对数据库执行增删改语句的原理有了较为深…

小程序容器与微服务架构:提高应用程序开发效率和部署速度的利器

随着移动互联网的发展,小程序已经成为了一种非常流行的应用方式,它可以在不安装任何应用的情况下,直接在移动终端设备(如:App,iPad等)中运行。微服务架构则是一种的分布式系统架构,可…

三维数据可视化软件,可视化地图是用什么做的?

可视化地图是用什么做的?数据可视化地图是一种利用空间数据来表现地理信息的方式,能够为人们提供关于地理信息的准确、直观的可视化图形,以便更好地理解相关信息。数据地图可以最直观的表达出数据之间的空间关系,因此在很多数据分…

【组织架构】中国铁路兰州局集团有限公司

1 公司简介 中国铁路兰州局集团有限公司,是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一,简称“兰局”。经过59年的发展,现已成为西北地区最大的交通运输企业之一,形成了以兰州为枢纽,由陇海铁路、包兰铁…

前端Cookie基础知识

一、简介 ​ Cookie(也称为HTTP Cookie、Web Cookie、浏览器 Cookie等等)是服务器发送到用户浏览器并保存在本地的一小块数据,该数据通常是用户账号相关的信息,不同浏览器对Cookie的数量和大小限制不同,但一般来说&am…

centos8安装

本文由个人总结,如需转载使用请标明原著及原文地址 1.下载镜像 1.1阿里镜像 可以在阿里云的镜像库里下载,阿里centos8只保留了8.5.2111如果需要别的版本看1.2 http://mirrors.aliyun.com/centos/8/isos/x86_64 1.2其他版本的镜像 下好镜像的可以跳过…

2023年1月京东“白酒”品类销售数据出炉,五粮液表现较好

鲸参谋电商数据监测的2023年1月份京东“白酒”品类销售数据出炉! 根据鲸参谋电商数据显示,2023年1月,京东平台上白酒的销量共计980万,环比增长约180%,同比去年增长约13%;销售额将近69亿,环比增长…