使用Docker搭建Redis主从集群

文章目录

  • ☃️前言
  • ☃️搭建
    • ❄️❄️架构
    • ❄️❄️实例说明
    • ❄️❄️搭建第一个服务器上的两个实例
    • ❄️❄️搭建第二个服务器上的一个实例
  • ☃️开启主从
    • ❄️❄️改配置
    • ❄️❄️重启从节点
  • ☃️验证


在这里插入图片描述

☃️前言

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


☃️搭建

❄️❄️架构

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

在这里插入图片描述

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

❄️❄️实例说明

这里我们会在两台服务器中开启3个 redis 实例,模拟主从集群,信息如下:
在这里插入图片描述

IPPORT角色
10.10.10.156380master
10.10.10.156381slave
10.10.10.656380slave

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

我们采用 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

效果如下图所示:
在这里插入图片描述

在这里插入图片描述

创建服务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

验证:
在这里插入图片描述

创建服务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

在这里插入图片描述


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

如法炮制

在这里插入图片描述

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


☃️开启主从

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

有临时和永久两种模式:

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

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

    slaveof <masterip> <masterport>
    

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


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

在这里插入图片描述

❄️❄️改配置

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

在这里插入图片描述

❄️❄️重启从节点

用 docker 命令重启从节点

重启后 命令行进入主节点 执行 info replication
显示如下说明主从OK
在这里插入图片描述

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

在这里插入图片描述


☃️验证

在主节点存消息

set msg 我是主节点

在这里插入图片描述

在从节点取消息

get msg

在这里插入图片描述

在从节点存消息
在这里插入图片描述
可以看到我们的主从架构, 是只支持在主接点写消息的, 从节点不可以写消息.

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


在这里插入图片描述



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/636651.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理-项目开发计划介绍

目录 一、内容总览 二、项目开发计划概述 2.1 概述 2.2 项自开发计划的目的和作用 2.3 项目开发计划的内容 2.3.1 工作计划 2.3.2 人员组织计划 2.3.3 设备采购和资源供应计划 2.3.4 配置管理计划 2.3.5 进度安排计划 2.3.6 成本投资计划 2.3.7 质量保证计划 2.3.8…

Json三方库介绍

目录 Json是干什么的Json序列化代码Json反序列化代码 Json是干什么的 Json是一种轻量级的数据交换格式&#xff0c;也叫做数据序列化方式。Json完全独立于编程语言的文本格式来存储和表述数据。易于人阅读和编写&#xff0c;同时也易于机器解析和生成&#xff0c;并有效地提升…

STM32H750外设ADC之双重 ADC 模式

目录 概述 1 双重 ADC 模式介绍 1.1 双重 ADC模式 1.2 双重 ADC 模式的类型 2 双重 ADC 模式寄存器的配置 3 模式功能实现 3.1 注入同步模式 3.2 支持独立注入的常规同步模式 3.2.1 中断的方式 3.2.2 DMA 读取常规数据 3.3 支持独立注入的交替模式 3.3.1 中断触发…

企业车辆违章查询工具,批量查询企业名下车辆违章情况,专为网约车/出租车管理公司而生

功能介绍 功能分为&#xff1a;违章管理、车辆管理、任务管理 违章管理如图&#xff1a; 搜索条件为车牌号 筛选条件为&#xff1a;时间区间、企业选择、是否处理违章、是否缴纳罚款、所属车管员 车牌管理如图&#xff1a; 可以新增车牌 查询条件为&#xff1a;车牌信息、车…

24五一杯资料汇总!!!!

以下内容为23年五一杯内容&#xff0c;24年也将会按时更新资料&#xff01;&#xff01;&#xff01; 问题1&#xff1a;给定建筑物数据&#xff0c;假设该建筑物内温度需要一直保持在18-26度&#xff0c;在温度不适宜的时候要通过电来调节温度&#xff0c;消耗一度电相当于0.…

最新网课交单平台源码 网课下单源码 网课平台搭建源码 网课对接平台搭建

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 网课交单平台源码最新修复全开源版本 去除论文编辑 去除强国接码 修复上级迁移 修复聚合登录 修复支付不回调 优化支付接口兼容码/易支付 优化MySQL表&#xff0c;提高网页加载…

14. Spring AOP(二)实现原理

源码位置&#xff1a;spring_aop 上一篇文章中我们主要学习了AOP的思想和Spring AOP使用&#xff0c;本文讲的是Spring是如何实现AOP的&#xff0c;Spring AOP是基于动态代理来实现AOP的&#xff0c;在将动态代理之前先来了解一下什么是代理模式。 1. 代理模式 在现实中就有许…

如何查询下载自然资源相关的法律法规

自然资源部门户网站- 政策法规库 (https://f.mnr.gov.cn/) 以查询下载“节约用水条例”为例&#xff1a;输入标题&#xff0c;点击检索&#xff0c;出现对应的检索结果&#xff1a; 打开详细&#xff0c;可以看到节约用水条例的详细内容&#xff1a; 点击文后的打印或者下载&a…

构建信息安全感知程序(一)

原文&#xff1a;annas-archive.org/md5/cb5e79ad1f7a31eaf76b82b01d6af659 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 前言 公司每年投入数百万美元购买最新的安全产品&#xff0c;从防火墙到门禁系统&#xff0c;但他们未能投资于保护环境中最宝贵的资源——更…

【C++类和对象】const成员函数及流插入提取

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

【论文精读】Attention is all you need

摘要 主要的序列转换模型是基于复杂的循环或卷积神经网络&#xff0c;其中包括一个编码器和一个解码器。性能最好的模型还通过一种注意力机制将编码器和解码器连接起来。我们提出了一种新的简单的网络架构&#xff0c;Transformer&#xff0c;完全基于注意机制&#xff0c;完全…

在ubuntu20.04下迁移anaconda的目录,试验不行后,换成软连接

一、原因 随着不断的搭建不同的算法环境&#xff0c;原本在固态硬盘上安装的anaconda上占用空间越来越多。导致可用的固态硬盘空间越来越少&#xff0c;又因安装的环境太多&#xff0c;重新搭建比较费时费力。有没有直接将当前已经搭建好环境的anaconda 迁移到另外的目录呢&…