主从复制实现Redis集群

主从复制实现Redis集群实验 (一主二从):

实验环境: 使用Docker 搭建 Redis 版本 5.0.5

打开一个终端窗口,在其中运行如下命令创建一个名为redis-master的Redis容器。注意,它的端口是6379 (本地的端口:映射到容器的端口)

 docker run -itd--name redis-master -p 6379:6379 redis:5.0.5(冒号后可跟特定的版本号;不写的话, 默认latest,即最新的版本)

新开一个命令窗口,在其中运行如下命令创建一个名为redis·slave1的容器。注意,它的端口是6380。这里是在一台电脑端口号来区别一台主Redis容器和另外两台从Redis容器。在真实项目里,多台Redis会部署在不同的服务器上 可以通过命令来创建从服务器

 docker run -itd --name redis-slave1 -p 6380:6380 redis:5.0.5
 docker run -itd --name redis-slave2 -p 6381:6381 redis:5.0.5

查看redis-master容器的ip地址, 这里是172.17.0.2

 docker inspect my_redis | grep IPAddress

在真实项目里,Redis服务器所在的IP地址是固定的 而容器启动的Redis服务器的IP地址是动态的,所以这里用上述命令来获取IP地址 在redis-master容器的命令窗口里,分别运行命令,进入命令行窗口

 docker exec -it 容器id可以(头几个字母就行), names也可以(能唯一标识容器即可) /bin/bash
 exit # 这个命令用于退出容器

可以使用redis-cli命令进入Redis的客户端命令行

 redis-cli

redis-cli

因为还没有配置, 所以 显示的从节点连接数为0。

然后从服务器中, 可以到由于此时还没有通过命令行设置主从模式,因此输出结果里依然能看到当前服务器是“主服务器”,同时没有携带从服务器。在redis-slave1容器的命令窗口里运行如下的命令,指定当前Redis服务器为从服务器。该命令的格式是slaveof IP地址端口号

在从节点上执行下述指令, 使得与主节点建立关系

slaveof 172.17.0.2 6379

主从服务器建立关系主从服务器建立关系

操作后, 主节点的状态

一主二从

从节点的状态

二从

主从复制模式能达到的效果: 主节点写东西, 从节点能够读取到数据

主从节点

在项目里除了可以用slaveof命令搭建主从模式的集群外,还可以用配置参数的方式来搭建,具体的步骤如下: 搭建主服务器的命令不变,并且还是用6379端口

docker run -itd my_redis -p 6379:6379 redis:5.0.5
// 配置从节点的配置文件 如: cd /usr/server  vim redisSlave1.conf
port 6380
slaveof 172.12.0.2 6379

配置文件

修改完配置文件后, 启动容器时需要进行映射 (本地:容器里), 并在启动后读指定的配置文件 (docker logs 容器id -> 能看到报错信息)

docker run -itd --name redis-slave1 -v /usr/server/redisSlave1.conf:/redisConfig/
redisSlave1.conf -p 6380:6380 redis:5.0.5 redis-server /redisConfig/redisSlave1.conf

开启容器

因为修改了端口 (配置文件中已修改), 所以从节点在启动 redis-cli的时候需要指定端口号

redis-cli -h 127.0.0.1 -p 6380

从节点的redis-cli

默认从节点只能读, 不能写

从节点

可以在配置文件中增加一行, 从而使得从节点可读可写

slave-read-only no # 指定该服务器可读可写

还有一些配置 能控制主从节点复制的操作

// 主节点的配置
min-slaves-to-write 2
min-slaves-max-1ag 15

第1行的参数表示实现主从复制的从服务器个数最少是2台,第2行的参数表示如果由第1行参数指定的从服务器个数(这里是2台)的心跳延迟时间(lag值)大于15秒,就不执行主从复制。
这两个条件是“或者”的关系,即只要出现从服务器个数小于2,或者2台从服务器的心跳延迟时间大于15秒,主服务器即停止主从复制的操作 (控制主从复制)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shopify使用元字段对产品和产品变体进行自定义配置

引言 在Shopify上运营电子商务店铺时,有时您可能需要对产品和产品变体进行自定义配置。这可以包括添加额外的属性、规格或其他自定义字段,以满足特定的业务需求。Shopify提供了元字段的功能,使您能够灵活地自定义产品和产品变体的配置。在本…

[Docker 教学] 常用的Docker 命令

Docker是一种流行的容器化技术。使用Docker可以将数据科学应用程序连同代码和所需的依赖关系打包成一个名为镜像的便携式工件。因此,Docker可以简化开发环境的复制,并使本地开发变得轻松。 以下是一些必备的Docker命令列表,这些命令将在你下一…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的动物识别系统(Python+PySide6界面+训练代码)

摘要:本博客文章深入解析了基于深度学习的动物识别系统的完整代码,并展示了采用领先的YOLOv8算法的实现代码。该系统与YOLOv7、YOLOv6、YOLOv5等早期版本的性能进行了比较,可以从静态图像到实时视频流的各种媒介中识别动物的高效性和准确性。…

html中的meta 元信息

html中的meta 元信息 1. 配置字符编码 <meta charset"utf-8">2. 针对 IE 浏览器的兼容性配置。 <meta http-equiv"X-UA-Compatible" content"IEedge">3. 针对移动端的配置 <meta name"viewport" content"widt…

【Git教程】(四)版本库 —— 存储系统,存储目录,提交对象及其命名、移动与复制~

Git教程 版本库 1️⃣ 一种简单而高效的存储系统2️⃣ 存储目录&#xff1a;Blob 与 Tree3️⃣ 相同数据只存储一次4️⃣ 压缩相似内容5️⃣ 不同文件的散列值相同6️⃣ 提交对象7️⃣ 提交历史中的对象重用8️⃣ 重命名、移动与复制&#x1f33e; 总结 事实上&#xff0c;我们…

Flutter Version Manager (FVM): Flutter的版本管理终极指南

Flutter笔记 Flutter Version Manager (FVM) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/136300307 my-websit…

git push 总是需要输入密码或者个人访问令牌personal access token解决方案

文章目录 遇到问题解决方法 遇到问题 git push的时候总是需要输入密码或者个人访问令牌personal access token 解决方法 ChatGPT给出的解决方案&#xff0c;解决了我的问题。 如果在使用 git push 命令时总是需要输入个人访问令牌&#xff0c;这可能是因为您的 GitHub 账号…

CUDA编程 - 用向量化访存优化 - Cuda elementwise - Add(逐点相加)- 学习记录

Cuda elementwise - Add 一、简介1.1、ElementWise Add1.2、 float4 - 向量化访存 二、实践2.1、如何使用向量化访存2.1、简单的逐点相加核函数2.2、ElementWise Add float4&#xff08;向量化访存&#xff09;2.3、完整代码 一、简介 1.1、ElementWise Add Element-wise 操作…

27.HarmonyOS App(JAVA)可复用列表项的ListContainer

可复用列表项的ListContainer 简短的列表可以通过定向布局实现,但是如果列表项非常多,则使用定向布局就不再合适。如需要创建50个列表项的列表,那么用定向布局实现至少需要创建50个以上的组件了。然而,限于设备屏幕大小的限制,绝大多数组件不会显示在屏幕上,却会占据大量的内存…

CentOS 7.9.2009离线安装mysql 8.0客户端 (rpm包)

环境&#xff1a; #需求&#xff1a; 该服务器需要将csv文件入库到远端的mysql 服务器上。 CentOS Linux release 7.9.2009 (Core) 离线环境 &#xff0c;需安装mysql客户端 8.0.27#下载地址 https://downloads.mysql.com/archives/community/#按此顺序安装 rpm -ivh mysql…

C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

C Primer&#xff08;第5版&#xff09; 练习 9.16 练习 9.16 重写上一题的程序&#xff0c;比较一个list中的元素和一个vector中的元素。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /**********************************…

AMEYA360 | 罗姆的EcoGaN™被台达电子Innergie品牌的45W输出AC适配器“C4 Duo”采用!

全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)的650V GaN器件(EcoGaN™)&#xff0c;被台达电子(Delta Electronics, Inc.&#xff0c;以下简称“台达”)Innergie 品牌的45W输出AC适配器(快速充电器)“C4 Duo” 采用。台达是基于IoT技术的绿色解决方案全球供应商。Inn…

AGI|教你用一部电影的时间训练个人专属Agent

目录 一、Agent如何工作&#xff1f; 二、Function Call 原理 三、开源模型工具调用微调 //Chat模型微调 //训练过程日志 //测试结果 //测试Tools 四、预训练模型微调 五、总结 Agent是一个超越简单文本生成的人工智能系统。它使用大型语言模型&#xff08;LLM&#x…

CS_上线三层跨网段机器(完整过程还原)

以前讲过用cs_smb_beacon上线不出网机器&#xff0c;但是真实的网络拓扑肯定不止这么一层的网络&#xff01; 所以我就来搭建一个复杂一点的网络环境&#xff01;&#xff01; 当然了&#xff0c;这三台电脑之间都是不同的网段&#xff0c;&#xff08;但是同属于一个域环境&a…

MySQL数据库进阶第五篇(锁)

文章目录 一、锁的概述二、全局锁三、表级锁四、元数据锁&#xff08;meta data lock, MDL&#xff09;五、意向锁六、行级锁七、行锁&#xff08;Record Lock&#xff09;八、间隙锁&#xff08;Gap Lock&#xff09;九、临键锁&#xff08;Next-Key Lock&#xff09;十、锁总…

遇见数字孪生城市美好模样 国产GIS加速创新竞逐“新赛道”

在未来数字孪生城市中&#xff0c;每一座建筑、每一条道路、每一盏路灯、每一辆车&#xff0c;甚至每一个人&#xff0c;都有其对应的数字孪生体。这些数字孪生体在虚拟世界中形成了城市的细致模型&#xff0c;如同镜子一样&#xff0c;反映出城市的实时状态&#xff0c;同时也…

Datawhale-Sora技术原理分享

目录 Sora能力边界探索 Sora模型训练流程 Sora关键技术拆解 物理引擎的数据进行训练 个人思考与总结 参考 https://datawhaler.feishu.cn/file/KntHbV3QGoEPruxEql2c9lrsnOb

HTB pwn Dragon Army

逆向分析 程序使用了alloca函数扩大了栈区 此处可以泄露libc的地址 程序主要功能在下面 while ( 1 ){while ( 1 ){fflush(stdin);fflush(_bss_start);fprintf(_bss_start, "\n%sDragons: [%d/%d]%s\n\n", "\x1B[1;34m", v5, 13LL, "\x1B[1;37m"…

山海鲸可视化:数据分析师的明智之选

作为一名资深的数据分析师&#xff0c;我深知数据可视化在数据分析和决策制定中的重要性。在众多的数据可视化工具中&#xff0c;我最终选择了山海鲸可视化软件。本文就简单介绍几点我选择它的主要原因&#xff1a; 首先&#xff0c;山海鲸可视化软件提供了强大的数据整合能力…

MySQL-事务,properties文件解析,连接池

1.事务机制管理 1.1 Transaction事务机制管理 默认情况下是执行一条sql语句就保存一次&#xff0c;那么比如我们需要三条数据同时成功或同时失败就需要开启事务机制了。开启事务机制后执行过程中发生问题就会回滚到操作之前&#xff0c;相当于没有执行操作。 1.2 事务的特征 事…
最新文章