当前位置: 首页 > news >正文

使用Docker配置Redis Stack集群的步骤

准备工作

  • 安装Docker和Docker Compose:确保你的系统已安装Docker和Docker Compose,可通过docker --versiondocker-compose --version来验证是否安装成功。
  • 选择合适的Redis Stack镜像redis/redis-stack包含Redis Stack服务器和RedisInsight,适用于本地开发;redis/redis-stack-server仅提供Redis Stack服务器,适合生产部署。

创建配置文件

  • 创建redis.conf文件:为每个Redis节点创建一个配置文件,以下是示例配置:
    port <port>
    protected-mode no
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000
    appendonly yes
    
    其中<port>需替换为每个节点对应的端口号,如6379、6380等。
  • 创建docker-compose.yml文件:定义Redis服务和集群配置,示例如下:
    version: '3.8'services:redis-master-1:image: redis/redis-stack-server:latestports:- "6379:6379"volumes:- ./redis-master-1.conf:/usr/local/etc/redis/redis.conf- redis-master-1-data:/dataredis-master-2:image: redis/redis-stack-server:latestports:- "6380:6379"volumes:- ./redis-master-2.conf:/usr/local/etc/redis/redis.conf- redis-master-2-data:/dataredis-master-3:image: redis/redis-stack-server:latestports:- "6381:6379"volumes:- ./redis-master-3.conf:/usr/local/etc/redis/redis.conf- redis-master-3-data:/dataredis-slave-1:image: redis/redis-stack-server:latestports:- "6382:6379"volumes:- ./redis-slave-1.conf:/usr/local/etc/redis/redis.conf- redis-slave-1-data:/dataredis-slave-2:image: redis/redis-stack-server:latestports:- "6383:6379"volumes:- ./redis-slave-2.conf:/usr/local/etc/redis/redis.conf- redis-slave-2-data:/dataredis-slave-3:image: redis/redis-stack-server:latestports:- "6384:6379"volumes:- ./redis-slave-3.conf:/usr/local/etc/redis/redis.conf- redis-slave-3-data:/datavolumes:redis-master-1-data:redis-master-2-data:redis-master-3-data:redis-slave-1-data:redis-slave-2-data:redis-slave-3-data:
    
    该配置创建了3个主节点和3个从节点,每个节点使用不同的端口,并将配置文件和数据目录挂载到容器中。

启动集群

  • 启动Docker Compose服务:在包含docker-compose.yml文件的目录下运行docker-compose up -d命令,Docker Compose会根据配置文件启动Redis集群。
  • 检查集群状态:使用docker ps命令查看所有Redis容器是否正常运行。

配置集群

  • 进入容器并创建集群:选择一个Redis主节点容器,进入容器内部,使用redis-cli工具创建集群,命令如下:
    docker exec -it <container_name> redis-cli --cluster create <ip1>:<port1> <ip2>:<port2> ... --cluster-replicas 1
    
    其中<container_name>是容器名称,<ip1>:<port1>等是各个Redis节点的IP地址和端口号,--cluster-replicas 1表示每个主节点有1个从节点。
  • 验证集群:连接到任意一个Redis节点,使用CLUSTER INFO命令查看集群信息,确认集群状态正常;使用CLUSTER NODES命令查看集群节点信息,确保所有节点都已正确加入集群。
http://www.dtcms.com/a/350183.html

相关文章:

  • React 19 与 Next.js:利用最新 React 功能
  • SQL性能调优
  • HTTP、HTTPS 与 WebSocket 详解
  • UDS诊断案例-新能源汽车电池管理系统(BMS)诊断
  • Git提交流程与最佳实践
  • debug kernel 的一些trace的方法
  • 嵌入式Linux内核编译与配置
  • GraphRAG
  • 掌握C++ std::invoke_result_t:类型安全的函数返回值提取利器
  • VSCode远程连接阿里云ECS服务器
  • ABB机器人焊接混合气节气阀
  • Chrome GPU 加速优化配置(前端 3D 可视化 / 数字孪生专用)
  • LangChain4J-(2)-高阶API与低阶API
  • 从人工巡检到AI预警:智慧工地如何用技术重构施工安全体系
  • Dubbo3.3 Idea Maven编译命令
  • 指纹手机技术支持体系:从核心技术到场景化落地保障
  • (四十六)深度解析领域特定语言(DSL)第八章——语法分析器组合子:案例实现(Part2)
  • Spring Boot 集成 Eclipse Mosquitto
  • 2025生成式引擎优化(GEO)技术研究报告:技术演进、行业应用与服务商能力选择指南
  • 【小增长电商技术分享】电商支付宝批量转账工具技术测评:架构特性、合规风险与选型方法论,支付宝官方|小增长|云方付|易推客省心返
  • 深度学习——神经网络简单实践(在乳腺癌数据集上的小型二分类示例)
  • 深度学习入门:从概念到实战,用 PyTorch 轻松上手
  • 【科研绘图系列】R语言浮游植物生态数据的统计与可视化
  • Java 图像处理传 JNI 到 C++(OpenCV):两种高效实现方式对比
  • Element-ui icon鼠标移入显示提示(已解决)
  • C++高级特性与设计模式答案
  • 迭代器设计模式
  • C语言第十三章自定义类型:联合和枚举
  • 高通平台WIFI学习-- 基于WCN6750 Tri-Band 2x2 MIMO 802.11ax的讲解
  • IntelliJ IDEA 新手入门教程-Java、Web、Maven创建(带图解)