Redis主从复制配置(原理剖析)
文章目录
- 前言
- 一、Redis主从复制的作用
- 二、Redis主从复制环境配置
- 1.查看默认配置信息
- 2.配置一主二从的集群模式
- 2.1.拷贝配置文件
- 2.2.配置redis79.conf文件
- 2.3.配置redis80.conf文件
- 3.依次启动三个服务
- 4.进入三台服务,检查角色信息
- 5.选举Leader
- 6.读写分离,主从复制
- 三、主节点宕机,从节点角色任然不变
- 总结
前言
概念:主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)
一、Redis主从复制的作用
1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式。
2、故障恢复:当主节点故障时,从节点可以暂时替代主节点提供服务,是一种服务冗余的方式。
3、负载均衡:在主从复制的基础上,配合读写分离,由主节点进行写操作,从节点进行读操作,分担服务器的负载;尤其是在多读少写的场景下,通过多个从节点分担负载,提高并发量。
4、高可用基石:主从复制还是哨兵和集群能够实施的基础。
二、Redis主从复制环境配置
1.查看默认配置信息
info replication
当前角色为主节点,没有从节点。
2.配置一主二从的集群模式
2.1.拷贝配置文件
2.2.配置redis79.conf文件
在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。 如果你要继续查找此关键字,敲字符 n 就可以继续查找了。
修改输出日志:
修改RDB持久化二进制文件名称:
2.3.配置redis80.conf文件
修改端口号:
修改后台运行进程文件:
修改日志文件:
修改RDB持久化二进制文件名称:
修改redis81.conf也是和6380一样的配置,将其中的6380改成6389即可。
3.依次启动三个服务
redis-server dtconfig/redis79.conf
redis-server dtconfig/redis80.conf
redis-server dtconfig/redis81.conf
查看进程:
ps -ef | grep redis
4.进入三台服务,检查角色信息
redis-cli -p 6381
INFO replication
默认情况下,三台都是主机:
5.选举Leader
选择6379作为主节点,其余6380、6381作为从节点,我们只需要配置80、和81从节点即可:
SLAVEOF 127.0.0.1 6379
查看6380当前角色信息:
查看6379主节点信息:
配置6381从节点:
查看主节点6379:
真实的项目中配置不能这么配置,我们应该从配置文件中进行配置,这样才会永久生效:
6.读写分离,主从复制
注意(重点面试题):主节点可读可写、从节点只能读不能写。
主节点写,数据自动备份至从节点,然而从节点只能读,不能写。
尝试在从节点写入数据:
错误:只能读不能写。
三、主节点宕机,从节点角色任然不变
我们把主节点6379服务停掉后,查看从节点信息:
再把主节点6379服务开启,写入数据:
检查从节点信息:
再次停掉6379服务,再两个从节点中手动选择从节点:
如果6379再次启动,那么他就没有从节点了,只能重新配置角色。
总结
1、从机只能读,不能写,主机可读可写但是多用于写
2、当主机断电宕机后,默认情况下从机的角色不会发生变化 ,集群中只是失去了写操作,当主机恢复以后,又会连接上从机恢复原状。
3、当从机断电宕机后,若不是使用配置文件配置的从机,再次启动后作为主机是无法获取之前主机的数据的,若此时重新配置称为从机,又可以获取到主机的所有数据。
4、第二条中提到,默认情况下,主机故障后,不会出现新的主机,有两种方式可以产生新的主机:
4、1 从机手动执行命令slaveof no one,这样执行以后从机会独立出来成为一个主机
4、2 使用哨兵模式(自动选举)
Redis主从复制配置(原理剖析)相关推荐
- Redis主从复制及原理
Redis主从复制及原理 Redis主从复制概述 Redis同步方式 Redis配置主从复制 Redis主从复制启用方式(版本5.0之后) Redis主从复制概述 什么是主从复制 主从复制,是指将一台 ...
- Redis 主从复制的原理及演进
本文作者:百度基础架构部工程师,王钰 Redis 的主从复制经历了多次演进,本文将从最基本的原理和实现讲起,并层层递进,逐步呈现 Redis 主从复制的演进历史.大家将了解到 Redis 主从复制的原 ...
- Redis主从复制配置
环境描述 Redis Master:192.168.1.100 6379(Ubuntu系统) Redis Slave1:192.168.1.101 6380(Ubuntu系统) Redis Slave ...
- Redis 主从复制的原理及演化
一.什么是主从复制 在数据库语境下,复制( replication)就是将数据从一个数据库复制到另一个数据库中.主从复制,是将数据库分为主节点和从节点,主节点源源不断地将数据复制给从节点,保证主从节点 ...
- (进阶篇)Redis6.2.0 集群 主从复制_原理剖析_02
文章目录 一.主从复制流程 1. 主从复制流程图 2. 主从复制日志 二.主从复制信息剖析 2.1. 主节点信息剖析 2.2. 从节点信息剖析 三.关键术语 3.1. 复制功能开启 3.2. 全量复制 ...
- Redis哨兵模式原理剖析,监控、选主、通知客户端你懂了吗?
Redis 除了具有非常高的性能之外,还需要保证高可用,在故障发生时,尽可能地降低故障带来的影响,Redis提供了哨兵模式,来进行故障恢复. 哨兵主要负责做三件事: ①监控,监控主.从节点是否正常运行 ...
- 深入Redis 主从复制原理
复制原理 1.复制过程 复制的过程步骤如下: 1.从节点执行 slaveof 命令 2.从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制 3.从节点 ...
- Redis主从复制Redis哨兵机制Springboot整合哨兵
目录 一.Redis主从复制 full resync(全量复制) partial resync(增量复制) 二.Redis主从复制配置 三.哨兵机制原理 每个 Sentinel 都需要定期执行的任务 ...
- Redis主从复制(薪火相传模式 演示示例)——图解版
目录 一.redis主从复制(薪火相传的理解) 二.Redis主从复制配置步骤概述 三.lz虚拟机配置说明 四.Redis主从复制(每台服务器的redis配置文件配置步骤) 1.配置master服务器 ...
最新文章
- 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理
- Swift41/90Days - 面向轨道编程 - Swift 中的异常处理
- 解决transition动画与display冲突的几种方法
- Linux学习之十二-Linux文件属性
- .NET中栈和堆的比较【转自:c#开发园地】
- oracle 日期改字符格式,如何在oracle10g中将字符串日期转换为日期格式
- IBM MQ的常用命令
- ZOJ 3490 String Successor
- rman坏块的检测与恢复
- symfony ajax,如何在php或symfony中使用jQuery ajax上传文件
- Atitit (Sketch Filter)素描滤镜的实现 图像处理 attilax总结
- python第三方库scapy中的sniff函数里的iface参数如何设置?
- 程序员面试技巧必读篇(一套太极剑法传授给你)
- 携程景区爬取 + 保存Excel
- 在 Beagleboard-x15 上配置 spi 和 GPIO
- CCF-野外环境中的蝴蝶自动识别-排名54
- 基于nonebot2+go-cqhttp的QQ机器人构建(1)机器人搭建
- Spark:java.net.URISyntaxException: Relative path in absolute URI: file:D:/XXX/SparkFaultBench/spark-
- Linux后处理软件,FieldView(CFD后处理软件)
- 2022全国中学生数学奥林匹克竞赛(决赛)获奖名单来了!