docker中实现多机redis主从集群

docker:搭建单机redis主从集群 最近在学习docker和kubernetes,在看《docker容器与容器云》这本书的时候,就按照书中的教程搭建第一个docker应用栈,其中遇到了一些坑。现把搭建过程中遇到的困难记录下来。主要是在搭建redis主从集群时遇到的困难。1、获取redis镜像首先从Docker Hub中或者其他的镜像仓库中获取现有的可用镜像,在这些镜像的基础上启动镜像,这里我选择从docker官方镜像中获取redis镜 阅读详情

redis主从集群是每个使用redis的小伙伴都必需知道的,那如何在docker中快速配置呢?这篇来教你快速上手,跟着复制完全就能用!!

1. 前置准备

1.1 docker安装

以防有小伙伴没预先安装docker,这里提供安装步骤

# 配置docker yum源。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


# 安装 最新 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动& 开机启动docker; enable + start 二合一
systemctl enable docker --now

# 配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.2 创建docker network(单机中使用)

docker network create mynet01

2. 单机redis

先从简单的引人,注意实际生产过程中并不是都在单机上的(一台机起一个)
在本例子中就使用一主一从来做简单实现(单机下在同一个网络中,也就是刚刚创建好的mynet01)

2.1 主机redis

docker run -d -p 6379:6379 \  # 主机端口映射
-v /app/rd1:/bitnami/redis/data \ # 目录挂载
-e REDIS_REPLICATION_MODE=master \ # 配置环境变量,对应bitnami这个镜像
-e REDIS_PASSWORD=123456 \ 
--network mynet01 --name redis01 bitnami/redis
2.1.1 bug – 启动报错无访问权限

启动后通过docker ps并没有看到前面运行的实例,这是由于从内部访问写配置文件并不是root用户,所以需要更改权限(同下)

chmod -R 777 rd1

docker restart redis02

2.2 从机redis

从机配置的东西就多了,需要配置好主机的host、端口号、密码等信息

docker run -d -p 6380:6379 \ # 主机端口映射
 -v /app/rd2:/bitnami/redis/data \ # 目录挂载
 -e REDIS_REPLICATION_MODE=slave \
 -e REDIS_MASTER_HOST=redis01 \ # 主机的ip
 -e REDIS_MASTER_PORT_NUMBER=6379 \ # 主机的redis端口
 -e REDIS_MASTER_PASSWORD=123456 \ # 主机redis的密码
 -e REDIS_PASSWORD=123456 \ # 本机redis的密码	
 --network mynet01 --name redis02 bitnami/redis

6.1.3 验证

在从机中输入如下命令访问redis

docker exec -it redis02 redis-cli

# 进去之后记得密码
AUTH 123456

# 查看主从复制信息
INFO replication

如果成功的话能看到如下信息
请添加图片描述

3. 多机redis

有了前面单机的引入,多机之前的主从集群搭建其实就是用host来绑定对应机器的ip地址,具体如下
在本例子中还是使用一主一从来搭建主从集群,其中主机的ip是192.168.187.128
具体的ip根据自己申请的服务器确定,如果是本机上开的虚拟机可以ifconfig查看

3.1 主机redis

因为是不同机器无需通过network

docker run -d -p 6379:6379  \
-v /app/rd1:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=master \ 
-e REDIS_PASSWORD=123456  --name redis01 bitnami/redis 

3.2 从机redis

其实就跟单机的类似,只不过host这里换成主机的ip地址,这样就可以通过网络访问到主机上了

docker run -d -p 6380:6379 \
-v /app/rd2:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=slave  \
-e REDIS_MASTER_HOST=192.168.187.128 \ # 注意这里的host地址为主机的ip地址
-e REDIS_MASTER_PORT_NUMBER=6379 \
-e REDIS_MASTER_PASSWORD=123456 \
-e REDIS_PASSWORD=123456 --name redis02 bitnami/redis

3.3 测试

首先进入主机redis

docker exec -it redis01 redis-cli

# 进去之后记得密码
AUTH 123456

# 查看主从复制信息
INFO replication

再进入从机redis

docker exec -it redis02 redis-cli

# 进去之后记得密码
AUTH 123456

# 查看主从复制信息
INFO replication

如果成功将会看到如下主从集群信息
在这里插入图片描述如果还不放心,不妨跟我一样在主机中设置一个键值,然后再在从机中获取对应的key,看看是否是你设置的value😉

docker-redis多主多从 docker run 运行容器-d 后台运行--name 容器名--network 网络----privileged=true 容器卷映射——后面是映射对应目录--cluster-enabled yes --appendonly yes --port 6381开启集群,端口号。 阅读详情

相关推荐

Redis整合MySQL主从集群

Redis整合MySQL主从集群1、用Docker搭建MySQL主从集群1.1 拉取mysql镜像1.2 创建配置文件夹1.3 编写主服务器的配置文件信息1.4 启动mysql主服务器的容器1.5 观察主服务器状态1.6 配置mysql从服务器1.7 启动mysql从服务器1.8 确认主从关系2、准备数据2.1 创建数据库2.2 创建student数据表2.3 向student表插入几条数据3、用Java代码读写MySQL集群和Redis3.1 引入redis和mysql依赖3.2 代码整合4、MySQL主

冲出仁川,走出马德里,故事还会再继续 3402

使用 docker-compose 一键部署多个 redis 实例

前期准备、导入镜像、部署 redis master 脚本、部署 redis slave 脚本、模板文件、部署 redis、基本维护

wzy0623的专栏 1347

深入解析Apollo Lattice Planner:自动驾驶轨迹规划的核心算法与实践

本文深入解析了百度Apollo自动驾驶平台中的核心轨迹规划算法——Lattice Planner。文章详细阐述了其作为车辆“即时决策者”的工作原理,通过“采样-评估”的六步流程(Frenet坐标转换、状态采样、轨迹生成、硬约束过滤、代价函数打分及决策平滑),在复杂路况下实时规划出安全、舒适、高效的行驶轨迹。该算法是自动驾驶实现智能决策与精准控制的关键技术。

weixin_29090677的博客 830

利用 Docker 在一台机器上部署多个 Redis 实例

docker run -p 20001:6379 -d redis redis-server --appendonly yes docker run -p 20002:6379 -d redis redis-server --appendonly yes docker run -p 20003:6379 -d redis redis-server --appendonly yes docker r...

HeatDeath的博客 6332

活用QueryWrapper与@Select注解,构建MybatisPlus动态多表查询方案

本文深入探讨了如何结合MybatisPlus的QueryWrapper与@Select注解,构建高效灵活的动态多表关联查询方案。通过解析${ew.customSqlSegment}占位符机制,并设计通用的Service层封装,解决了复杂条件下多表查询的SQL拼接难题,显著提升了后台管理系统列表查询的开发效率与可维护性。

weixin_29291069的博客 271

高分系列卫星轨道、传感器参数等信息

遥感卫星数据简介-高分系列

中遥科 3309

Docker搭建redis集群

当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,也就是映射到某个节点上。–cluster-replicas 1 表示集群主节点需要多少个从节点,我们用了6台,即3台服务器构成集群,每台服务器设置1台从服务器。4.1 进入端口为6381的容器,新增两个key,这里需要加-c,集群操作,可以将key-value放入其他容器中。

冷脸萌萌的技术实践 1858

KEGG数据库与KAAS工具:基因功能注释的实用指南

本文提供了使用KEGG数据库与KAAS工具进行基因功能注释的完整实用指南。详细阐述了如何从准备基因或蛋白序列开始,通过KAAS服务器获取KEGG Orthology(KO)编号,并解读注释结果。文章进一步介绍了如何利用KOBAS工具进行通路富集分析,将定性观察转化为定量洞察,并分享了提高注释准确率、处理大数据集及使用API等避坑技巧与高阶方法,为基因组学、转录组学研究者奠定坚实的数据分析基础。

weixin_29292535的博客 390

docker redis跨主机多机器集群

docker swarm redis集群机器配置创建目录创建网络编写compose.yml模版文件启动服务测试验证集群集群测试验证 机器配置 1、需要有网络,因为所有安装都是基于docker配置,没有网络无法进行。 2、机器配置需要Centos7+及以上版本,内存32g+及以上。 安装配置: redis配置: 创建目录 分别在集群的各服务器(85/86/87)上创建目录: sudo rm -rf /home/data/redis/ && sudo mkdir -p /home/data/

奋斗的小鸟专栏 4680

IEC61850实战:从ICD文件解析到模型构建

本文深入解析IEC61850标准中的ICD文件结构,从Header、IED到DataTypeTemplates部分,详细介绍了如何构建电力自动化设备的数据模型。通过实战案例展示ICD文件的创建过程,并分享常见问题的调试技巧,帮助工程师快速掌握IEC61850建模方法,提升电力系统自动化项目的实施效率。

weixin_26841743的博客 497

生物量预测:基于Swin-Unet模型的生物量模型预测

本文提出了一种基于Swin-Unet架构的多源遥感地上生物量(AGB)预测方法。该方法整合了光学影像、SAR雷达影像、气候环境参数以及地形数据(坡度和坡向)等多源信息,通过24个输入通道(13+2+7+1+1)构建预测模型。研究采用Min-Max归一化预处理数据,并使用80%训练集、16%验证集和20%测试集的划分策略。模型基于Swin-Unet 2D架构,设置64个初始滤波器、4层深度、4×4堆叠数和2×2补丁大小。该方法通过整合多源遥感数据和先进深度学习架构,为AGB反演提供了新的解决方案。

此星光明博客 62

使用Docker搭建Redis主从集群

单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。

时间如瑾 代码如诗 1295

python:实现brutefore破解wifi(附完整源码)

python:实现brutefore破解wifi(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 5717

Docker--利用dockerfile搭建mysql主从集群和redis集群

它解决了单机 Redis 在存储容量、读写性能和容错能力上的限制,适用于大规模、高并发的应用场景。设置 MySQL 服务器的唯一 ID,主从复制中必须指定,且每个服务器的 ID 必须唯一。作用:将 MySQL 的数据存储在主机上,确保容器重启或删除后数据不会丢失。: root 指定 MySQL 的 root 用户密码为 root。:这一行指定了 Docker 镜像的基础镜像。是容器中 MySQL 默认的数据存储路径。语句:用于配置从库连接主库的相关信息。首先,我们要去官网,找到源码的下载链接。

m0_74068921的博客 4497

【Qt开发教程】网络代理QNetworkProxy类详解及实战应用

QNetworkProxy 提供了一种灵活而强大的方式来配置和管理网络代理,通过设置代理类型、主机、端口和认证信息,可以使应用程序的所有网络请求通过代理服务器进行。结合 QNetworkProxyFactory 可以实现动态代理选择和自动配置,提高应用的网络通信能力和安全性。在实际应用中,通过合理设置代理、处理代理认证和错误情况,可以确保应用程序在复杂的网络环境中稳定运行,为用户提供可靠的网络访问体验。

科技改变人类,技术成就未来 1542

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

centos7 docker搭建redis主从集群sentinel哨兵

centos7 docker搭建redis主从集群+sentinel哨兵展开一、安装docker启动一个redis实例1.centos7可以使用yum安装2.下载redis镜像3.查看下载的镜像4.用docker启动redis实例-d 以守护进程模式运行-p 将容器的6379端口映射到宿主机的6379端口–requirepass 设置redis密码–masterauth 设置连接主服务的密码,需要和requirepass设置一样。

wangyuandong的博客 1344

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

从原理到搭建---Docker环境下Redis主从集群搭建、哨兵集群搭建

docker搭建Redis主从节点,以一主一从为例;docker搭建Sentinel哨兵集群,以三个哨兵节点为例。另含原理概念解释。

m0_73976056的博客 1839

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Docker搭建Redis主从集群,哨兵监控

王珂 49186456@qq.com 2019/07/09 简介 本文介绍如何使用Docker搭建Redis主从集群,并且通过哨兵监控集群状态,当主发生故障时,自动从备中选举出新的主。 我们将搭建一个1主2从的Redis集群,通过3个哨兵进行监控。 准备 环境准备 一台linux服务器,IP:192.168.1.117,安装CentOS7 CentOS7上安装好Docker 创建redis...

王珂的专栏 2147

第11章 Docker应用实战-Docker部署Redis

本节介绍如何在docker中快速部署一个单节点Redis,Redis分片集群,Redis主从集群。需要你提前准备docker和docer-compose环境,如果你尚未安装好,请查看我的另一篇教程《第1章 Docker应用实战-基础环境准备》进行安装。

王珂的专栏 1836

Redis主从集群搭建

本文详细介绍了在CentOS系统上使用Docker搭建Redis主从集群的全过程。通过Docker Compose部署了1个Master节点(7001端口)和2个Slave节点(7002/7003端口),实现了读写分离架构。文章重点阐述了主从同步机制,包括首次连接时的全量同步(RDB方式)和后续的增量同步(repl_baklog环形缓冲区机制),并分析了网络中断可能导致的全量同步场景。最后提出了优化建议:启用无磁盘复制、控制内存使用、调整缓冲区大小及采用链式复制结构等。整个部署过程验证了主从节点的数据自动同

m0_61786208的博客 883

搭建Redis主从集群

学会搭建redis主从集群

烛照@123的博客 1079

Redis主从集群和哨兵集群

Redis主从集群和哨兵集群

m0_73922877的博客 1218

docker搭建redis多主多从策略

重新进入6381,-c可以防止路由失效((error) MOVED 12706 192.168.202.200:6383),往其他服务器hash槽存数据时报错。重启之后发现,6381还是从机,6384是主机。上图可以看出,当6381宕机后,6384由从机变为了主机。#配置好一个直接复制进其他五个机器上就行,要在相同目录。# 停止6381,机器,查看集群状态。# 进入6382容器,查看集群状态。# 进入任意redis容器,这里以6381为例。3.1.2 切换到集群上的其他服务器,获取值。

chenyuanju的博客 1954

搭建redis主从集群、哨兵集群

创建主从集群和哨兵集群

m0_38137988的博客 1216

使用Docker Compose搭建Redis主从集群

通过以上的步骤,我们就使用docker-compose搭建了一主两从的redis主从复制的结构,主机用来写,从机用来读。想详细了解其中原理的同学可以去研究研究,主从之间是如何进行建立连接的,全量复制和增量复制又是怎么回事,这种结构有什么优缺点,后面的哨兵模式又是怎么回事?集群如何搭建等等。

qq_47307140的博客 998

Docker容器创建Redis主从集群

docker容器创建redis主从集群学习笔记

练习生 752
上一篇: 【已解决】Error in the HTTP2 framing layer
下一篇: 虚拟机配置RabbitMQ集群教程
美味不是堡
博客等级 码龄6年 2009粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值