redis-持久化主从复制

一.主从复制

1.是什么

主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

2.能干嘛

读写分离,性能扩展(主 写 从 读)

容灾快速恢复

3 主从复制

一主二仆

更改端口号

6379

6380 zh 6381 6382

拷贝多个redis.conf文件include(写绝对路径)

开启daemonize yes

Pid文件名字pidfile

指定端口port

Log文件名字

dump.rdb名字dbfilename

Appendonly 改为no

注意:不能设置密码

创建文件

移动到这个目录下

修改这个文件

redis6380.conf需要配置的东西

include /usr/zzz/redis-5.0.14/redis.conf
port 6380
daemonize yes
dir /usr/myredis
dbfilename dump6380.rdb
pidfile /var/run/redis_6380.pid
bind 0.0.0.0
protected-mode no

启动命令 /usr/redis/bin/redis-server /usr/myredis/redis6380.conf

链接成功

因为没有设置密码,可以直接链接

其余里面的内容的信息是一样的,不过把6380替代对应的

启动另外两个

新开一个虚拟机连接6381和6382

启动三台redis服器

/usr/java/redis/bin/redis-server /usr/java/myredis/redis6379.conf

/usr/java/redis/bin/redis-server /usr/java/myredis/redis6380.conf

/usr/java/redis/bin/redis-server /usr/java/myredis/redis6381.conf

redis_6381.conf

include /usr/java/myredis/redis.conf

pidfile /var/run/redis_6381.pid

port 6381

dbfilename dump6381.rdb

查看三台服务器的运行情况

连接客户端 :./redis-cli -p 6379

查看运行 状态:info replication

三台都是主机

配置从机

6379 主 80 81从

slaveof

成为某个实例的从服务器

1.在6380和6381上执行: slaveof 127.0.0.1 6379

在80里面查看

2.在主机上写,在从机上可以读取数据

3.主机挂掉,重启就行,一切如初

从机宕机需要重新启动

4.从机重启需重设:slaveof 127.0.0.1 6379

复制原理

  • Slave启动成功连接到master后会发送一个sync命令
  • Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
  • 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
  • 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
  • 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

薪火相传

上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。

用 slaveof

中途变更转向:会清除之前的数据,重新建立拷贝最新的

风险是一旦某个slave宕机,后面的slave都没法备份

主机挂了,从机还是从机,无法写数据了

80 1

81 2

82 3

反客为主

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。

用 slaveof no one 将从机变为主机。

哨兵模式(sentinel)

反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

调整为一主二仆模式,6379带着6380、6381

自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错

80

配置哨兵,填写内容

sentinel monitor mymaster 192.168.244.34 6380 1

其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。

启动哨兵

/usr/redis/bin/redis-sentinel /usr/myredis/sentinel.conf

宕机6380

当主机挂掉,从机选举中产生新的主机

(大概10秒左右可以看到哨兵窗口日志,切换了新的主机)

哪个从机会被选举为主机呢?根据优先级别:replica-priority

原主机重启后会变为从机。

宕机之后刚才写的sentinel.conf会自动生成一些东西

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

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

相关文章

使用redisson控制多个springboot实例负载同时只有一个实例执行任务

一 redisson依赖 <!-- redisson 依赖--><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.23.4</version></dependency> 二 定时任务代码 pack…

【复现】奥威亚视屏云平台文件读取漏洞_27

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 奥威亚视屏云平台拥有丰富的应用模块&#xff0c;包括结对帮扶、网络教研、教研共同体、优课汇聚、教学资源、在线巡课、AI课堂分…

Cesium介绍及3DTiles数据加载时添加光照效果对比

一、Cesium简介 Cesium原意是化学元素铯&#xff0c;铯是制造原子钟的关键元素&#xff0c;通过命名强调了Cesium产品专注于基于时空数据的实时可视化应用。熟悉GIS开发领域的读者都知道&#xff0c;Cesium是一个用于创建3D地理空间应用程序的开源JavaScript库&#xff0c;它允…

DA14531平台secondary_bootloade工程修改笔记

DA14531平台secondary_bootloade工程修改笔记 1.支持在线仿真 初始时加入syscntl_load_debugger_cfg(); 表示可以重复Jlink连接调试仿真 2.支持串口烧录&#xff0c;和支持单线线写 utilities\secondary_bootloader\includes\bootloader.h /************** 2-wire UART supp…

如何安装MeterSphere并实现无公网ip远程访问服务管理界面

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通…

Linux快速入门

目录 一. Linux的结构目录 1.1 Linux的目录结构 1.2 常用的目录介绍 二. 常用命令 # 与 $ 提示的区别 查看ip地址&#xff1a;ifconfig su&#xff1a;切换用户 cd 目录查看 查看文件内容 创建目录及文件 复制和移动 其他 tar which whereis find chmod 三. vim一般使用 四…

静态分析C语言生成函数调用关系的利器——GCC

大纲 准备工作GCC生成单文件调用关系VCG将VCG转为Dot绘制图片绘制全景图代码参考资料 在《静态分析C语言生成函数调用关系的利器——cally和egypt》中我们介绍了如何使用GCC生成RTL文件&#xff0c;然后再借助cally和egypt来分析出调用关系的方法。GCC自身有命令可以生成代码内…

YOLOv7全网独家首发:Powerful-IoU更好、更快的收敛IoU,效果秒杀CIoU、GIoU等 | 2024年最新IoU

💡💡💡本文独家改进:Powerful-IoU更好、更快的收敛IoU,是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 💡💡💡MS COCO和PASCAL VOC数据集实现涨点 收录 YOLOv7原创自研 https://blog.csdn.net/m0_63774211/category_12511937.htm…

记一次SPI机制导致的BUG定位【不支持:http://javax.xml.XMLConstants/property/accessExternalDTD】

1、前因 今天在生产环境启用了某个功能&#xff0c;结果发现有个文件上传华为云OBS失败了&#xff0c;报错如下&#xff1a; Caused by: java.lang.IllegalArgumentException: 不支持&#xff1a;http://javax.xml.XMLConstants/property/accessExternalDTDat org.apache.xal…

js中的内置对象、数学对象、日期对象、数组对象、字符串对象

js中的对象&#xff08;三种&#xff09;&#xff1a; 自定义对象 car、computer DOM对象 div、p BOM对象 window、console 内置对象 数学对象 Math &#xff08;object类型&#xff09; 1、圆周率 Math.PI 2、向下取整(返回值) Math.floor() 3、向上取整(返回值) M…

实现自己的mini-react

实现自己的mini-react 创建运行环境实现最简单mini-react渲染dom封装创建虚拟dom节点封装函数封装render函数对齐react 调用方式使用 jsx 任务调度器&fiber架构封装一个workLoop方法 统一提交&实现 function component统一提交实现支持 function component 进军 vdom 的…

6轴机器人运动正解-逆解控制【1】——三种控制位姿的方式

概览&#xff1a; 通过运动学正解控制机器人运动通过运动学逆解控制机器人运动一个简单的物体搬运&#xff08;沿轨迹运动&#xff09; 后续会陆续更新&#xff08;本例仅供学习交流用&#xff09; 一、6轴机器人 二、运动正解控制 通过修改各个轴的角度&#xff0c;实现末…

目标检测数据集 - 人脑肿瘤检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;人脑肿瘤检测数据集&#xff0c;真实 CT 场景高质量图片数据&#xff0c;涉及人脑 CT 图片数据集丰富&#xff1b;适用实际项目应用&#xff1a;CT 图片场景下人脑肿瘤检测项目&#xff0c;以及作为通用人脑检测数据集场景数据的补充&#xff1b;标注说明…

Linux 一键部署influxd2-telegraf 二进制方式

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

数据分析 - python 数据处理

数据处理 去除重复数据 # 删除重复值 保留重复行 第一行的数据 data.drop_duplicates(inplaceTrue, keepfirst)数据格式转化 日期格式化 data[order_date] pd.to_datetime(data[order_dt], format%Y%m%d)data[销售时间] pd.to_datetime(data[销售时间]) # 交货时间 销售…

JS进阶-深入面向对象(三)

看文章可以得到的收获&#xff1a; 1.在日常开发中&#xff0c;我们在声明一个数组对象后&#xff0c;没有声明有map&#xff0c;filter等方法&#xff0c;为什么可以调用这些方法呢&#xff1f; 2. 什么是面向过程思想&#xff0c;什么是面向对象思想呢&#xff1f; 3.JS中…

算法基础之线段树

文章目录 线段树 线段树 线段树的原理十分简单&#xff0c;但是在代码上会相对复杂一点 他也是用来维护一个序列&#xff0c;是一个完全二叉树的形状 对于每一个节点是一个结构体 struct Node {int L,R; int sum; // 以和为例 };假设序列为1到7&#xff0c;那么根节点存的…

EasyCVR视频融合平台雪亮工程视频智能监控方案设计与应用

随着科技的不断发展&#xff0c;视频监控已经成为城市安全防范的重要手段之一。为了提高城市安全防范水平&#xff0c;各地纷纷开展“雪亮工程”&#xff0c;即利用视频智能监控技术&#xff0c;实现对城市各个角落的全方位、全天候监控。本文将介绍一种雪亮工程视频智能监控方…

Windows本地如何部署Jupyter+Notebook并结合内网穿透实现远程访问?

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各种函数、图表、…

2212电机 与 Simonk 30A 电调 调速测试记录

硬件信息 一、2212电机 适配 F330、F450、F550机架 重量&#xff1a;52克 尺寸&#xff1a;28mm*24mm 支持锂电&#xff1a;3s~4s锂电池 电调&#xff1a;20~40A 二、Simonk 30A 电调 重量&#xff1a;25克 尺寸&#xff1a;40 * 23 * 8mm 输入电压&#xff1a;2s~4s&…