使用Docker搭建Redis主从集群

这篇具有很好参考价值的文章主要介绍了使用Docker搭建Redis主从集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

欢迎来到 请回答1024 的博客

🍓🍓🍓欢迎来到 请回答1024的博客

关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。

博客特色: 在我的博客中,开设了如下专栏(点击可以进入专栏奥~): Java、MySQL、Redis、Spring、SpringBoot、SpringCloud、RabbitMQ、微服务、分布式 等相关技术专栏。期待与您一起,探索编程世界中的发现和创新之旅。

🍎🍎🍎我的主页 : https://reply1024.blog.csdn.net

敬请期待定期更新、见解和教程!让我们一起踏上这段编码冒险之旅!

数学与计算的边界 时间与空间的平衡 0与1的延伸

☃️前言

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


☃️搭建

❄️❄️架构

我们搭建的主从集群结构如图:

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

本次演示共包含三个节点,一个主节点,两个从节点。

❄️❄️实例说明

这里我们会在两台服务器中开启3个 redis 实例,模拟主从集群,信息如下:
使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

IP PORT 角色
10.10.10.15 6380 master
10.10.10.15 6381 slave
10.10.10.65 6380 slave

❄️❄️搭建第一个服务器上的两个实例

我们采用 Docker 搭建 Redis的实例.

进入第一个服务器,我们要在第一个服务器开启两个 Redis 实例 80 and 81,
首先 我们在第一个服务器的 /app 目录下 建立两个文件夹:

mkdir -p redis80/conf
mkdir -p redis81/conf
mkdir -p redis80/data
mkdir -p redis81/data

将下面的配置文件 放到 redis80/conf 下和 redis81/conf
redis.conf

# 开启密码验证(可选)
requirepass 123456

# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1

# 关闭保护模式(可选)
protected-mode no

# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no

# 开启RDB
# save ""
save 3600 1
save 300 100
save 60 10000

# 关闭AOF
appendonly no

# 这些设置将在 AOF 文件大小增长到一定百分比(auto-aof-rewrite-percentage)和最小大小(auto-aof-rewrite-min-size)时触发 AOF 重写。
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 16mb

效果如下图所示:
使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

创建服务80:
注意 在启动服务前确保有对应的 镜像.

docker run -d -p 6380:6379 --name redis80 \
	--privileged=true \
	--restart=always \
	-v /app/redis80/config/redis.conf:/etc/redis/redis.conf \
	-v /app/redis80/data:/data \
	redis:6.0.8 \
	redis-server /etc/redis/redis.conf

验证:
使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

创建服务81同上

docker run -d -p 6381:6379 --name redis81 \
	--privileged=true \
	--restart=always \
	-v /app/redis81/config/redis.conf:/etc/redis/redis.conf \
	-v /app/redis81/data:/data \
	redis:6.0.8 \
	redis-server /etc/redis/redis.conf

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库


❄️❄️搭建第二个服务器上的一个实例

如法炮制

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

至此 两台服务器上的3个独立的实例均启动成功.


☃️开启主从

现在三个实例还没有任何关系,要配置主从可以使用replicaof 或者slaveof(5.0以前)命令。

有临时和永久两种模式:

  • 修改配置文件(永久生效)

    • 在redis.conf中添加一行配置:slaveof <masterip> <masterport>
  • 使用redis-cli客户端连接到redis服务,执行slaveof命令(重启后失效):

    slaveof <masterip> <masterport>
    

注意:在5.0以后新增命令replicaof,与salveof效果一致。


为了接近实战,我们使用改配置文件的方式来操作:

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

❄️❄️改配置

  • 更改第一台服务器的 redis81 的配置文件:
# 开启主从模式 配置主节点信息
slaveof 10.10.10.15 6380

# 主节点有密码验证的话加上下面的配置
masterauth 123456
  • 更改第二台服务器的 redis80 的配置文件:
# 开启主从模式 配置主节点信息
slaveof 10.10.10.15 6380

# 主节点有密码验证的话加上下面的配置
masterauth 123456

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

❄️❄️重启从节点

用 docker 命令重启从节点

重启后 命令行进入主节点 执行 info replication
显示如下说明主从OK
使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

再进入任意一从节点 执行 info replication:

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库


☃️验证

在主节点存消息

set msg 我是主节点

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

在从节点取消息

get msg

使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库

在从节点存消息
使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库
可以看到我们的主从架构, 是只支持在主接点写消息的, 从节点不可以写消息.

用Docker搭建Redis主从集群,到这里就完了.


使用Docker搭建Redis主从集群,# Redis,redis,docker,数据库文章来源地址https://www.toymoban.com/news/detail-856981.html



到了这里,关于使用Docker搭建Redis主从集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)

    1、Redis 单机版安装 1.1 拉取 Redis 首先从 docker hub 拉取 Redis 镜像,这里拉取 7.0 版。 1.2 创建数据卷目录 首先要在宿主机/root 目录中创建一个目录 redis,将来用于存放外挂文件 redis.conf。 使用rz命令上传一份redis.conf: 1.3 修改 redis.conf 修改配置文件: 1.解除 IP 绑定 将 bind 行注释

    2024年02月21日
    浏览(36)
  • 远程服务器,使用docker搭建redis集群提示:SlaveConnectionPool no available Redis entries

    1、部署条件:         1.1 远程服务器         1.2 docker部署:参考 https://blog.csdn.net/qq_42971035/article/details/128171542  2、出现问题:         2.1 服务器部署服务,连接redis集群,会提示\\\"SlaveConnectionPool no available Redis entries\\\"。         2.2 本地连接远程服务器,提示\\\"connection 

    2024年02月15日
    浏览(44)
  • Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

    💖The Begin💖点点关注,收藏不迷路💖 首先,确保你已经安装了Docker。 要下载特定版本的Tomcat镜像,可以在 docker pull 命令后面添加 image_name: tag 参数。其中 tag 制定了镜像的版本号。 解决插入中文报错: 总结: docker安装完mysql,运行实例之后,建议先修改完字符集编码后再

    2024年02月10日
    浏览(28)
  • 【redis】docker搭建redis集群

    docker搭建redis集群,超级简单方便。 参考文章: Redis 集群搭建详细指南 基于Docker的Redis集群搭建 redis: (error) CLUSTERDOWN The cluster is down Redis cluster集群模式的原理解析

    2024年02月14日
    浏览(28)
  • 【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Redis从头学 应用 版本/型号 服务器 腾讯云轻量服务器 镜像 Centos 7.6 Docker 1.13.1 Redis redis-6.2.1 Docker-Compose 1.29.2 Redis发生

    2024年02月11日
    浏览(35)
  • docker搭建redis集群

    1、配置文件 使用docker搭建redis集群必须要配置的内容,搭建几个集群,就需要几个配置文件。 配置文件中本节点 IP(cluster-announce-ip)、 端口(cluster-announce-port)、 总线端口(cluster-announce-bus-port) 需要单独配置,配置为 实际可访问到服务的地址 ,即docker映射后的端口。

    2024年03月15日
    浏览(34)
  • docker搭建redis集群(三主三从)及重启redis集群

    从远程仓库先拉取一下redis的镜像文件,如果已经提前安装过镜像的,可以跳过此步骤: 看到图上标识,就说明当前镜像文件已经下载好了。 通过镜像文件,分别 启动6台redis容器实例 ,并且 数据卷挂载到宿主机 上(保障容器被意外删除后数据不丢失): 每一台实例都是按

    2024年04月16日
    浏览(47)
  • docker下搭建redis集群

    准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考这篇博文 安装好并启动docker后就可以开始搭建redis了 本篇文章我们安装redis6.0.6版本,执行以下命令直接下载redis6.0.6版本镜像 安装

    2024年02月04日
    浏览(26)
  • Docker 搭建Redis Cluster 集群

    环境: centos7 redis:7.0.5 三主三从,六个节点 一、下载redis镜像 docker pull redis:7.0.5 二、创建虚拟网卡 网卡类型为bridge桥接类型 三、准备redis配置文件 redis.conf 配置解释: port :节点端口; requirepass :设置密码,访问时需要验证 masterauth: 设置主从复制密码 protected-mode :保护模

    2024年02月09日
    浏览(29)
  • Redis 搭建主从集群

    单节点的 Redis 并发能力有限,要进一步提高 Redis 的并发能力,就需要搭建主从集群,实现读写分离。 共包含三个节点,一个主节点,两个从节点。 这里我们会在同一台虚拟机中开启3个redis实例,模拟主从集群,信息如下: IP PORT 角色 192.168.150.101 7001 master 192.168.150.101 7002

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包