Docker部署Redis集群(Cluster)

基于docker 部署redis cluster 生产集群 开始之前我们提出几个问题: 什么是redis cluster ? keyHashSlot函数用来计算给定键应该被分配到哪个槽采用分片取模算法实现节点分配,节点数据存储。 /* --------------cluster.c--------------------------------------------------------------- * Key space handling * ---------------------------------------------------. 阅读详情

搜索镜像

docker search redis

拉取镜像

docker pull redis:latest

注:镜像Tag可通过Docker Hub查看。

相关配置

  • 开启密码验证
requirepass 123456
  • 开始数据持久化
appendonly yes
  • 开启集群模式
cluster-enabled yes
  • 开启主从密码验证
masterauth 123456

运行容器

运行Redis集群节点容器,并开放集群总线端口,集群总线端口为:Redis节点端口+10000。

docker run -d --name Redis-6381 -p 6381:6381 -p 16381:16381 -v /docker/redis/cluster/node1/data:/data redis:latest --port 6381 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

docker run -d --name Redis-6382 -p 6382:6382 -p 16382:16382 -v /docker/redis/cluster/node2/data:/data redis:latest --port 6382 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

docker run -d --name Redis-6383 -p 6383:6383 -p 16383:16383 -v /docker/redis/cluster/node3/data:/data redis:latest --port 6383 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

docker run -d --name Redis-6384 -p 6384:6384 -p 16384:16384 -v /docker/redis/cluster/node4/data:/data redis:latest --port 6384 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

docker run -d --name Redis-6385 -p 6385:6385 -p 16385:16385 -v /docker/redis/cluster/node5/data:/data redis:latest --port 6385 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

docker run -d --name Redis-6386 -p 6386:6386 -p 16386:16386 -v /docker/redis/cluster/node6/data:/data redis:latest --port 6386 --requirepass 123456 --appendonly yes --cluster-enabled yes --masterauth 123456

构建集群

进入任意Redis容器节点,并执行redis-cli --cluster create命令,创建Redis Cluster集群;

docker exec -it Redis-6381 /bin/bash

redis-cli -a '123456' --cluster create 192.168.31.169:6381 192.168.31.169:6382 192.168.31.169:6383 192.168.31.169:6384 192.168.31.169:6385 192.168.31.169:6386 --cluster-replicas 1 

Redis自动分配完成后,输入yes指令确认配置信息;

>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.31.169:6385 to 192.168.31.169:6381
Adding replica 192.168.31.169:6386 to 192.168.31.169:6382
Adding replica 192.168.31.169:6384 to 192.168.31.169:6383
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: bd0f7eeb5f92f39736e29e088cf61e10c30d4a6f 192.168.31.169:6381
   slots:[0-5460] (5461 slots) master
M: 5e60384ce1cc43bf1ece9b2b5528c4bbe690d100 192.168.31.169:6382
   slots:[5461-10922] (5462 slots) master
M: f5de06c763662af6e9f502dd744f0f9acbc584ce 192.168.31.169:6383
   slots:[10923-16383] (5461 slots) master
S: ab91cd519d269f8bced240f8b720fe6a080545d0 192.168.31.169:6384
   replicates f5de06c763662af6e9f502dd744f0f9acbc584ce
S: ea3c792cb2348c845dee2f2071f4f0d9e55bd3e1 192.168.31.169:6385
   replicates bd0f7eeb5f92f39736e29e088cf61e10c30d4a6f
S: 4fbf0e09cf027501c8e4b45fd922fb44a25e0922 192.168.31.169:6386
   replicates 5e60384ce1cc43bf1ece9b2b5528c4bbe690d100
Can I set the above configuration? (type 'yes' to accept): yes

等待Redis节点加入集群,并分配哈希槽完成即可;

>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.
>>> Performing Cluster Check (using node 192.168.31.169:6381)
M: bd0f7eeb5f92f39736e29e088cf61e10c30d4a6f 192.168.31.169:6381
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: f5de06c763662af6e9f502dd744f0f9acbc584ce 172.18.0.6:6383
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 4fbf0e09cf027501c8e4b45fd922fb44a25e0922 172.18.0.3:6386
   slots: (0 slots) slave
   replicates 5e60384ce1cc43bf1ece9b2b5528c4bbe690d100
S: ea3c792cb2348c845dee2f2071f4f0d9e55bd3e1 172.18.0.1:6385
   slots: (0 slots) slave
   replicates bd0f7eeb5f92f39736e29e088cf61e10c30d4a6f
S: ab91cd519d269f8bced240f8b720fe6a080545d0 172.18.0.4:6384
   slots: (0 slots) slave
   replicates f5de06c763662af6e9f502dd744f0f9acbc584ce
M: 5e60384ce1cc43bf1ece9b2b5528c4bbe690d100 172.18.0.7:6382
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

Docker-Compose

根据Redis集群相关配置,构建配置文件redis.conf,不同节点端口需调整;

port 6381
requirepass 123456
appendonly yes
cluster-enabled yes
masterauth 123456

编写docker-compose.yml文件;

version: '3'
services:
  redis6381:
    image: redis:latest
    container_name: Redis-6381
    ports:
      - 6381:6381
      - 16381:16381
    volumes:
      - /docker/redis/cluster/node1/config:/config
      - /docker/redis/cluster/node1/data:/data
    command:
      ["redis-server","/config/redis.conf"]
  redis6382:
    image: redis:latest
    container_name: Redis-6382
    ports:
      - 6382:6382
      - 16382:16382
    volumes:
      - /docker/redis/cluster/node2/config:/config
      - /docker/redis/cluster/node2/data:/data
    command:
      [ "redis-server","/config/redis.conf" ]
  redis6383:
    image: redis:latest
    container_name: Redis-6383
    ports:
      - 6383:6383
      - 16383:16383
    volumes:
      - /docker/redis/cluster/node3/config:/config
      - /docker/redis/cluster/node3/data:/data
    command:
      [ "redis-server","/config/redis.conf" ]
  redis6384:
    image: redis:latest
    container_name: Redis-6384
    ports:
      - 6384:6384
      - 16384:16384
    volumes:
      - /docker/redis/cluster/node4/config:/config
      - /docker/redis/cluster/node4/data:/data
    command:
      [ "redis-server","/config/redis.conf" ]
  redis6385:
    image: redis:latest
    container_name: Redis-6385
    ports:
      - 6385:6385
      - 16385:16385
    volumes:
      - /docker/redis/cluster/node5/config:/config
      - /docker/redis/cluster/node5/data:/data
    command:
      [ "redis-server","/config/redis.conf" ]
  redis6386:
    image: redis:latest
    container_name: Redis-6386
    ports:
      - 6386:6386
      - 16386:16386
    volumes:
      - /docker/redis/cluster/node6/config:/config
      - /docker/redis/cluster/node6/data:/data
    command:
      [ "redis-server","/config/redis.conf" ]

执行docker-compose命令运行容器后,进行构建集群。

docker-compose -p redis_cluster up -d
使用Docker安装部署Redis Cluster集群 本文主要演示Redis Cluster的部署步骤。基于docker部署的文章网上太多,但是真正能部署成功的全部流程基本没有,所以在此贴出本人部署步骤。Dockerfile文件内容FROM alpine:3.7 # add our user and group first to make sure their IDs get assigned consistently, regardless of... 阅读详情

相关推荐

Docker Compose一键部署Redis Cluster集群:从零到高可用的保姆级图文指南

本文详细介绍了如何使用Docker Compose一键部署Redis Cluster集群,实现高可用分布式环境。通过3主3从架构的实战配置,涵盖环境准备、Docker Compose文件编写、集群初始化及生产优化建议,帮助开发者快速搭建和管理Redis集群。

weixin_29295541的博客 330

docker 部署 Redis Cluster 集群

docker 部署 Redis Cluster 集群

会飞的小蜗 912

Docker Swarm 部署 Redis Cluster 集群

部署核心:基于 Docker Swarm 的overlay网络和编排,启动 6 个 Redis 节点,再通过初始化 3 主 3 从集群。关键配置:开放 16379 集群总线端口、开启 AOF 持久化、使用独立命名卷保障数据安全,简化节点配置。高可用保障:3 主 3 从架构支持故障自动转移,Swarm 副本分散部署避免单点故障,满足生产环境使用要求。验证要点:通过查看节点状态,通过停止主节点验证故障转移,确保集群稳定运行。

老韩的Linux云计算架构师进阶之路 356

Docker-compose部署redis-cluster集群

替换宿主机 IP + 开放所有端口(7001-7006、17001-17006) + 初始化集群命令;必须是宿主机 IP,关闭保护模式;避坑点:添加避免容器网络隔离导致的通信失败,开启 AOF 持久化防止数据丢失。

creator_Li的博客 1123

无痛安装及初始配置 PHP 8.0.3 + Apache 2.4 + MySQL 8.0

PHP 8.0.3 + Apache 2.4 + MySQL 8.0MySQL 8.0.23 安装下载安装配置环境变量初始化MySQLPHP8.0.3 安装下载安装配置环境变量Apache 2.4 安装下载安装启动 MySQL 8.0.23 安装 下载 到官方网站下载:https://dev.mysql.com/downloads/mysql/ 目前的最新版本是MySQL 8.0.23 在Windows上有两种安装方式,一个是zip压缩文件解压然后配置,另一个是图像化界面安装。 这里选择第一种方法安装:

Kuang Da's Blog 6208

从“看不懂Sansen”到亲手搭建:一个Class AB输出级+浮动电压源的保姆级设计复盘

本文详细记录了从理论困惑到实践突破的Class AB输出级与浮动电压源设计全过程。通过电流镜调试、恒定跨导优化及版图匹配等关键步骤,作者实现了高性能运放设计,并分享了从仿真到实测的宝贵经验,为模拟电路初学者提供实用指导。

weixin_33737774的博客 869

docker实现redis-cluster模式集群部署

本文介绍了使用Docker部署Redis Cluster集群的完整方案。采用3台服务器,每台运行2个Redis实例(1主1从),形成交叉主从架构(M1→S2,M2→S3,M3→S1),确保高可用性。详细步骤包括:创建目录结构、配置redis.conf文件(特别注意cluster-announce-ip设置)、编写docker-compose.yml文件、启动容器、创建集群(--cluster-replicas 1)及验证集群状态。重点提示了防火墙配置、端口用途(7001/7002为客户端端口,17001/1

weixin_44556848的博客 518

群晖Video Station海报墙插件更新了!手把手教你用c5h12o5插件搞定豆瓣/TMDB搜刮

本文详细介绍了如何使用c5h12o5插件为群晖Video Station配置高效的海报墙系统。该插件支持豆瓣、TMDB等多数据源并行搜刮,智能优先级设置和本地化优化,解决TMDB API失效问题,提升影视库管理体验。包含安装教程、配置策略和高级使用技巧,适合影视爱好者优化NAS媒体库。

weixin_29250403的博客 265

基于 Docker 的 Redis Cluster 集群部署

基于 Docker 的 Redis Cluster 集群部署。

RAB 826

从圆形到椭圆:CenterNet中高斯热图半径的自适应优化策略

本文深入探讨了CenterNet目标检测模型中高斯热图生成策略的优化,针对传统圆形高斯核在处理长宽比差异大目标时的局限性,提出了自适应椭圆高斯核的解决方案。通过数学推导和代码实战,详细阐述了如何根据目标边界框尺寸动态计算椭圆长短轴半径,生成更贴合目标几何形状的热图监督信号,从而有效提升模型,尤其是对无人机、车辆等不规则目标的定位精度。

alice7model的博客 985

【技术分享】语音多模态LLM越狱

语音多模态LLM越狱攻击作为一种新兴安全威胁,揭示了多模态模型在语音输入场景下的脆弱性。尽管已有多种攻击方法被提出,但其具体实现步骤、防御措施的有效性及行业影响等问题仍需进一步探索[9]。未来研究应聚焦于改进模型架构、开发针对性防御策略,并评估语音输入越狱攻击的实际危害。只有通过全面理解这些挑战,才能为多模态智能系统的安全性提供更可靠的保障。说到语音多模态LLM越狱的具体实现步骤,这其实是一个复杂且多层次的过程🧐。首先,攻击者需要深入分析目标模型的响应模式和安全机制,找出可能的漏洞点。

qq_29883477的博客 1261

Redis Cluster集群部署详细过程 —— Docker安装

Redis Cluster集群部署详细过程 —— Docker安装

weixin_48568302的博客 579

MAX96717实战:如何选择Host-to-Peripheral和Pass-Through I2C模式?附配置代码

本文深入解析MAX96717芯片的两种关键I2C模式:Host-to-Peripheral与Pass-Through。通过对比其核心差异、硬件连接考量及软件配置代码,为嵌入式开发者提供了清晰的模式选择策略与实战指南,帮助优化系统设计并避免常见通信故障。

weixin_29190573的博客 462

Centos7使用Docker实现Redis-Cluster集群部署

切换到以下路径:/home/redis-cluster/redis-6371/conf。切换到以下路径:/home/redis-cluster/redis-6372/conf。切换到以下路径:/home/redis-cluster/redis-6373/conf。切换到以下路径:/home/redis-cluster/redis-6375/conf。切换到以下路径:/home/redis-cluster/redis-6376/conf。切换目录到:/home/redis-cluster。

801

基于STM32L4XX 、HAL库的TMP144YFFR数字温度传感器驱动应用C语言程序设计

define TMP144_ADDRESS 0x00 // 默认为全局地址,用于单器件或MDA命令。#define TMP144_CMD_READ_TEMP 0x00 // 读取温度寄存器命令。if (temp_raw & 0x800) { // 判断第11位(符号位)

PP_Cottage的博客 91

SAP Fiori Elements 扩展实战:UI 层扩展、OData 服务扩展、CDS 视图增强及全流程案例

UI 层扩展主要关注在不修改标准生成界面的基础上,自定义用户界面元素和交互逻辑。典型需求包括:在现有 Fiori Elements 界面上添加新的字段(如表格列或表单项)、增加自定义按钮并绑定操作、以及通过控制器扩展加入事件处理等。无论在 RAP 还是传统 BOPF 架构下,前端 UI 扩展通常采用 SAPUI5 提供的**扩展点(Extension Points)和控制器扩展(Controller Extension)**机制来安全地插入自定义代码。下面分别说明两种后端架构下 UI 扩展的实现方式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 902

安装redis k8s_Docker-compose部署redis-cluster集群

网上的部署流程基本都有或多或少的坑,这里是笔者自己实验并总结了多篇文章之后的部署流程,过程很简单。部署步骤参考链接:https://www.jianshu.com/p/b7dea62bcd8b参考镜像:https://github.com/publicisworldwide/docker-stacks/tree/master/oracle-linux/environments/storage/re...

weixin_42181888的博客 147

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

docker redis 集群_Docker-compose部署redis-cluster集群

网上的部署流程基本都有或多或少的坑,这里是笔者自己实验并总结了多篇文章之后的部署流程,过程很简单。部署步骤参考链接:https://www.jianshu.com/p/b7dea62bcd8b参考镜像:https://github.com/publicisworldwide/docker-stacks/tree/master/oracle-linux/environments/storage/re...

weixin_39641386的博客 144

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

运维(25) docker-compose部署Redis Cluster集群

文章目录一、前言二、docker-compose部署Redis Cluster集群创建集群查看集群相关配置文件docker-compose-redis-cluster.ymlredis.conf三、测试 一、前言 运维(23) docker-compose部署redis主从复制模式 运维(24) docker-compose部署redis一主二从三哨兵模式 本文将基于以下环境部署Redis Cluster集群 CentOS Linux release 7.6.1810 (Core) Docker ve

郑清 2170

Docker--部署redis cluster集群

# 进入redis容器内部 docker exec -it redis-masster /bin/sh # 创建cluster集群 redis-cli --cluster create 47.95.238.119:6379 47.95.228.247:6478 47.95.238.119:6379 123.56.18.37:6378 123.56.18.37:6379 47.95.238.119:6378 --cluster-replicas 1

qq314499182的博客 216

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群

每种模式都有各自的优缺点,在实际使用场景中要根据业务特点去选择合适的模式。redis是一个非常常用的中间件,作为一个使用者来说,学习成本一点不高。如果作为一个很好的中间件去研究的话,还是有很多值得学习和借鉴的地方。比如 redis 的各种数据结构(动态字符串、跳跃表、集合、字典等)、高效的内存分配(jemalloc)、高效的IO模型等等。每个点都可以深入研究,在后期设计高并发、高可用系统的时候融入进去。

ChaITSimpleLove的博客 869

Docker 部署Redis Cluster集群

Redis集群简介 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有 节点连接。其redis-cluster架构图如下: 其结构特点: 1、所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输...

xiaowoniuwzx的博客 312

Docker 部署redis cluster集群、哨兵模式心得

Docker 部署redis集群心得 最近工作是撰写部署redis的相关文档,为了验证文档有效性,使用了docker来进行安装验证 具体安装步骤与linux环境下安装差异不大,请看他的博文 最爱喝酸奶 这里只介绍docker下的一些心得: 1. 公用文件夹 化繁为简 在linux上安装redis 需要编译和安装,这些步骤与普通linux没有差异,但是docker可以在主机和container里共享文件夹,当多个container共享一个文件夹时候这个文件夹就可以将编译完成的文件共享给其他机器,大大减少安

三头六臂的小白 467

基于Docker的Redis Cluster集群部署与性能优化实战

本文详细介绍了基于Docker容器技术部署高可用Redis Cluster集群的完整实战流程。通过Docker Compose编排三主三从架构,并规划专用网络与固定IP,实现了快速、一致的集群搭建。文章深入讲解了关键配置、集群组建步骤,并提供了内核参数调优、Redis配置优化、客户端最佳实践及监控告警等核心性能优化方案,帮助开发者构建稳定高效的分布式缓存系统。

weixin_29223603的博客 100

1.使用docker 部署redis Cluster模式 集群3主3从

docker 部署redis 集群 以及扩容 缩容

weixin_45069056的博客 392

docker容器部署redis集群cluster

4.进到 BASEPATH定义的目录下,可以批量停启容器。停止并删除当前路径下工程中所有服务的容器、网络、镜像。本文是在一台服务器上搭建的redis集群。删除当前路径下所有(停止状态)服务的容器。并在此目录下放入redis-cli文件。3.构建并启动redis集群容器。2.在同一目录下,添加以下文件。5.查看redis集群情况。重启当前路径下所有的容器。停止当前路径下所有的容器。1.安装docker。

小渣渣 1075
上一篇: Docker部署Redis单机(Standalone)
下一篇: Docker部署RabbitMQ单机(Standalone)
AceGain
博客等级 码龄8年 71粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值