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

本地搭建redis-cluster开发环境

本文介绍如何在本地搭建redis-cluster集群,以方便本地调试和开发。集群采用最小的3主节点模式,解决了宿主机无法识别容器内部地址的问题。

docker-compose 配置

version: '3.8'services:redis1:image: redis:7.4.5container_name: redis1volumes:- ./cluster/redis1/data:/data:Zcommand: >redis-server--cluster-enabled yes--cluster-config-file nodes.conf--port 7001--cluster-announce-ip redis1--cluster-announce-port 7001--cluster-announce-bus-port 17001--protected-mode noports:- "7001:7001"- "17001:17001"networks:- redis-clusterredis2:image: redis:7.4.5container_name: redis2volumes:- ./cluster/redis2/data:/data:Zcommand: >redis-server--cluster-enabled yes--cluster-config-file nodes.conf--port 7002--cluster-announce-ip redis2--cluster-announce-port 7002--cluster-announce-bus-port 17002--protected-mode noports:- "7002:7002"- "17002:17002"networks:- redis-clusterredis3:image: redis:7.4.5container_name: redis3volumes:- ./cluster/redis3/data:/data:Zcommand: >redis-server--cluster-enabled yes--cluster-config-file nodes.conf--port 7003--cluster-announce-ip redis3--cluster-announce-port 7003--cluster-announce-bus-port 17003--protected-mode noports:- "7003:7003"- "17003:17003"networks:- redis-clusternetworks:redis-cluster:driver: bridge

初始化集群

  • 进入redis1容器

redis-cli -p 7001 --cluster create redis1:7001 redis2:7002 redis3:7003 --cluster-replicas 0

  • 检查集群节点
 ~  redis-cli -p 7001
127.0.0.1:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:4282
cluster_stats_messages_pong_sent:4552
cluster_stats_messages_sent:8834
cluster_stats_messages_ping_received:4550
cluster_stats_messages_pong_received:4282
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:8834
total_cluster_links_buffer_limit_exceeded:0

配置宿主机的hosts

  • /etc/hosts 追加如下内容
127.0.0.1 redis1
127.0.0.1 redis2
127.0.0.1 redis3

如果不配置,那么会如下的错误。宿主机中识别不了集群配置的redis1/redis2/redis3 地址。容器中的端口都映射到了127.0.0.1,宿主机中可以统一映射到127.0.0.1。

 ~ redis-cli  -c -p 7001
127.0.0.1:7001> GET bike:1
-> Redirected to slot [7810] located at redis2:7002
Could not connect to Redis at redis2:7002: nodename nor servname provided, or not known

文章转载自:

http://q2sI1w6B.kwksj.cn
http://zUWLP9q3.kwksj.cn
http://SckCl1m6.kwksj.cn
http://pTVXW1oq.kwksj.cn
http://kIXtE9Z8.kwksj.cn
http://nLfAjnYa.kwksj.cn
http://TLDdeu4q.kwksj.cn
http://gPGaQqB6.kwksj.cn
http://EI5B9yg3.kwksj.cn
http://aqPWv4Xm.kwksj.cn
http://A026ebJs.kwksj.cn
http://mgtcXAEJ.kwksj.cn
http://SzMIjY39.kwksj.cn
http://IZ4TAE39.kwksj.cn
http://KlHvn0tN.kwksj.cn
http://QitqFtgO.kwksj.cn
http://55XKyQqS.kwksj.cn
http://VW59h6mb.kwksj.cn
http://Sq4aJN9A.kwksj.cn
http://kGf0wbr8.kwksj.cn
http://qx8bJLGH.kwksj.cn
http://x8zXYKI0.kwksj.cn
http://lNsOPnsY.kwksj.cn
http://hNHcabYf.kwksj.cn
http://VgfsgKlK.kwksj.cn
http://3Cq57HKK.kwksj.cn
http://YKfxEUiW.kwksj.cn
http://lETANDVO.kwksj.cn
http://FPlhwtTi.kwksj.cn
http://YLgGMU4V.kwksj.cn
http://www.dtcms.com/a/385184.html

相关文章:

  • 优化浏览体验:4个设置让Google Chrome更好用!
  • V100 部署qwen2.5-vl
  • 企业能源管控联网管理解决方案:为企业节能增效
  • [Dify] 实现“多知识库切换”功能的最佳实践
  • AI大模型开发(多模态+提示词)
  • 专项智能练习(行为主义学习理论)
  • Java 大视界 -- Java 大数据实战:618 精准发券核销率 15%→42%(含生产级代码 + 避坑指南)
  • HarmonyOS 5.0应用开发——V2装饰器@local的使用
  • Redis数据结构:ZipList与Listpack
  • 数据库选型指南:从需求分析到技术决策的全方位解析
  • Linex操作系统-Shell脚本(四)
  • 浏览器为啥要对 JavaScript 定时器“踩刹车”?
  • Linux网络:socket编程TCP
  • 基于python大数据的游戏数据分析系统的设计与实现
  • 巧用ebpf排查linux网络问题
  • Android音频学习(十八)——混音流程
  • Android 开发布局问题:android:layout_weight 属性不生效
  • Android WorkManager的概念和使用
  • PyTorch实战——基于LSTM的情感分析模型
  • 深入浅出 MySQL 的 MVCC:多版本并发控制的工作机制与应用
  • 【完整源码+数据集+部署教程】衬衫组件图像分割系统: yolov8-seg-C2f-EMBC
  • 知识图谱——语义搜索概念解析
  • [系统架构设计师]知识点(二十五)
  • 9.15 ES6-变量-常量-块级作用域-解构赋值-箭头函数
  • 第一章:走进 ES6
  • 9.15 ES6-展开运算符-新增数组字符串方法-字面量对象简写
  • 架构师成长之路-架构方法论
  • 【CTF-WEB】表单提交(特殊参数:?url=%80和?url=@)(通过GBK编码绕过实现文件包含读取flag)
  • Java快速入门基础1
  • 嵌入式跟踪宏单元ETM(Embedded Trace Macrocell)