代码编织梦想

Redis主从复制

**Tips:**准备三台虚拟机,配置好主机名、IP地址和redis环境。为了演示方便,利用多个实列的方式在一台主机上运行。

环境准备

配置多个实列

cp /opt/software/redis-7.0.4/redis.conf /etc/redis.conf
cp /opt/software/redis-7.0.4/redis.conf /etc/redis2.conf
vim /etc/redis.conf
#添加以下端口
	port 6380
vim /etc/redis.conf
	port 6381
#根据不同的配置文件启动redis-server

启动服务

redis-server /etc/redis.conf
redis-server /etc/redis2.conf

查看服务进程

ps -ef | grep redis
#出现7379、6380、6381三个进程即配置成功

主从复制步骤

1、创建目录

mkdir /rediscluster

2、复制配置文件

cp /etc/redis.conf  /rediscluster/redis.conf
Tips: 为了演示方便,把redis.conf中的appendonly no,即关闭AOF

3、创建三个文件

[root@serverb rediscluster]# vim redis-6379.conf
include /rediscluster/redis.conf
# 修改端口号
port 6379
# 修改pid文件名
pidfile "/var/run/redis_6379.pid"
# 修改持久化文件名
dbfilename "dump_6379.rdb"
dir "/rediscluster"

[root@serverb rediscluster]# vim redis-6380.conf
include /rediscluster/redis.conf
# 修改端口号
port 6380
# 修改pid文件名
pidfile "/var/run/redis_6380.pid"
# 修改持久化文件名
dbfilename "dump_6380.rdb"
dir "/rediscluster"

[root@serverb rediscluster]# vim redis-6381.conf
include /rediscluster/redis.conf
# 修改端口号
port 6381
# 修改pid文件名
pidfile "/var/run/redis_6381.pid"
# 修改持久化文件名
dbfilename "dump_6381.rdb"
dir "/rediscluster"

4、启动服务

[root@serverb rediscluster]# redis-server redis-6379.conf
[root@serverb rediscluster]# redis-server redis-6380.conf
[root@serverb rediscluster]# redis-server redis-6381.conf

5、连接服务

[root@serverb rediscluster]# redis-cli -p 6379
[root@serverb rediscluster]# redis-cli -p 6380
[root@serverb rediscluster]# redis-cli -p 6381

在这里插入图片描述

6、进行复制

127.0.0.1:6379> info replication
127.0.0.1:6380> info replication
127.0.0.1:6381> info replication

在这里插入图片描述

这时你会发现,三台都是master,也就是都是服务器。

7、配置主从

假设我们希望 6379 是主服务器,而 6380 和 6381 是从服务器,则需要做如下配置。
命令格式:replicaof

注意:此命令代表我要做谁的从服务器

我们分别在 6380 和 6381 客户端中执行如下命令:

127.0.0.1:6380> slaveof 127.0.0.1 6379    
OK
127.0.0.1:6381> slaveof 127.0.0.1 6379
OK

注意:

  1. 在 redis-cli 客户端中执行 replicaof 命令只会对当前环境生效,重启后失效。要想永 久生效,需要在 redis.conf 配置文件中添加 replicaof 配置。
  2. 在 Redis 5.0 后,新增了 replicaof 命令,作用与 slaveof命令效果一致。

在这里插入图片描述

8、集群测试

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK

测试
127.0.0.1:6380> get k1
1) "v1"
127.0.0.1:6381> get k1
1) "v1"

注意:

  1. 如果我们在从服务器中添加数据,则会报错。因为从服务器只能读。
  2. 如果从机宕机了,重启后会变为主服务器,需要重新执行 slaveof 命令。

主从切换

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

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

假设主机 6379 宕机了,我们可以在 6380 上执行如下命令来切换为主机:

127.0.0.1:6380> slaveof no one

查看6380,已经变为主机了。

哨兵模式

什么是哨兵模式

哨兵也叫 sentinel,它的作用是能够在后台监控主机是否故障,如果故障了根据投票数自动将 从库转换为主库。

在这里插入图片描述

哨兵模式配置

首先停止三台redis服务

redis-cli shutdown

然后再重新启动三台 Redis 服务器,并实现一主双从。

最后在 /rediscluster 目录下新建 sentinel.conf 文件,文件名称不能写错,必须叫这个名 称。

[root@serverb rediscluster]# vim sentinel.conf
sentinel monitor redismaster 127.0.0.1 6379 1

参数说明:
	monitor:监控
	redismaster:为监控对象起的服务名称
	1:代表至少有多个哨兵同意迁移的数量

启动哨兵

[root@serverb rediscluster]# redis-sentinel sentinel.conf

在这里插入图片描述

验证哨兵

[root@serverb rediscluster]# redis-cli -p 6379
127.0.0.1:6379> shutdown

这时,哨兵就会介入,并进行选举,然后把选举成功的从面切换为主机。
在这里插入图片描述

如果我们把 6379 重新启动,则它会变为从机。

[root@serverb rediscluster]# redis-server /rediscluster/redis-6739.conf
[root@serverb rediscluster]# redis-cli -p 6379
127.0.0.1:6379> info replication

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44508518/article/details/126916592

11、Redis:主从复制-爱代码爱编程

文章目录 11.1、概念11.2、环境配置11.3、一主二从11.3.1、细节11.3.2、复制原理11.3.3、层层链路11.3.4、谋朝篡位11.4、哨兵模式11.4.1、概述11.4.2、测试11.4.3、优劣11.4.4、哨兵模式的全部配置 11.1、概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者

Redis主从复制与哨兵模式-爱代码爱编程

目录 主从复制定义主从同步方式全量同步增量复制Redis主从同步策略。项目规划安装NoSQL数据库(三台设备都安装)server1(master)配置server2配置server3配置查看日志验证哨兵模式哨兵模式原理哨兵模式的作用PS项目server1(master)配置启动哨兵模式server2、server3配置同server1相同日志访问验

redis主从复制+哨兵模式-爱代码爱编程

主从复制 原理支持 采用redis主从复制的原因 Redis.虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis.支持主从复制, redis主从复制的作用 保证主数据库的数据内容和从数据库的内容完全一致。 redis主从模式的结构 Redis,的主从结构可以采用一主多从或者级联结构,Redis,主从复制可以

Redis主从模式+哨兵模式-爱代码爱编程

目录 1、Redis主从模式概述1.1、同步方式2、哨兵模式3、Redis一主两从模式案例3.1、同步会话模式,关闭防护墙,放入安装包3.2、取消会话模式,进入主模式配置文件,进行修改3.3、进入Slave1节点配置文件进行修改3.4、进入Slave2节点配置文件进行修改3.5、重启所有主机redis服务3.6、进入Master查看日志,验证主从效

Redis哨兵模式-爱代码爱编程

Redis哨兵模式 Redis主从原理全量同步增量同步Redis主从同步策略流程主从复制的目的Redis项目部署主从拓补图安装redis配置主服务器配置备服务器在主负服务器上查看主从效果哨兵模式原理概述哨兵模式的作用监控通知(提醒)自动故障转移Redis哨兵模式部署修改配置验证 Redis主从原理 Redis.虽然读取写入的速度都特别快,但是

Redis笔记11-Redis主从复制和哨兵模式-爱代码爱编程

概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。 默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点,也可以没有从节点,但是

linux主从模式,Linux下搭建redis主从+哨兵模式-爱代码爱编程

之前的文章已经详细的介绍了搭建单机版的redis,在单机版redis安装和部署略过,直接进入主从配置: 我是在三台机子上分别安装了redis ,端口为6379(主)、6380(从)、6381(从)在设置从redis(6380、6381)redis.conf配置文件时, 在两个文件最下方添加个:slaveof  #.#.#.#(主redis的IP) 

Redis高可用三种模式-爱代码爱编程

Redis高可用三种模式 一、Redis主从复制 1.概念2.作用3.工作流程4.实验部署二、Redis哨兵模式 1.原理2.作用3.结构4.启动5.实验部署三、Redis群集模式 1.概述2.作用 (1)数据分区(2)高可用3.Redis集群的数据分片 Redis集群的主从复制模型4.实验部署 一、R

Redis主从复制和哨兵模式介绍-爱代码爱编程

目录 前言 一、redis群集 1、模式 2、作用 2.1  主从复制 2.2  哨兵 2.3  集群 二、redis主从复制 1、概述 2、redis结构分类 3、主从复制原理 4、redis全量同步 5、redis增量复制 6、redis主从同步策略 三、搭建Redis主从复制 1、项目环境 2、关闭防火墙,安装环境

Redis主从复制和哨兵模式-爱代码爱编程

概念 主从复制是指将一台redis主节点上的数据复制其他从节点redis服务器上。数据复制是单向的,只能从主节点到从节点。master以写为主,slave以读为主。作用 数据冗余:主从复制实现了数据热备份,是持久化以外的一种数据冗余; 故障恢复:当主节点出现问题时,从节点可以提供读操作,快速故障恢复,实际上是一种服务冗余。 负载均衡:通过主从复制,读写分离

一篇掌握Redis的主从复制机制+哨兵模式-爱代码爱编程

1. 什么是主从复制 主从复制是主机数据更新后根据配置和策略, 自动同步到备机的master/slave机制,Master以写为主,Slave以读为主 2.主从复制的作用 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复; 实际上是一种

Redis主从复制、哨兵模式-爱代码爱编程

主从复制,读写分离,大部分情况下都是再进行读操作,为了减轻服务器压力,在架构中经常使用. (最低配--一主二从,一个从机无法选举) 主从复制主要包括 1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式 2.故障恢复 : 当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复,实际上是一种服务的冗余 3.负载均衡

【Redis】Redis主从架构和哨兵模式-爱代码爱编程

文章目录 主从架构为什么需要Redis主从架构?搭建主从架构(一主二从)主从一致原理复制积压缓冲区全量复制增量复制在主从架构中出现了宕机的情况为什么主从库之间的复制不使用 AOF?哨兵模式哨兵节点通信主观下线和客观下线选举规则哨兵模式搭建 主从架构 为什么需要Redis主从架构? Redis 单点架构有以下问题 造成服务雪崩:高并发场景下

10-redis主从复制+哨兵模式-爱代码爱编程

Redis主从复制原理 主从复制是只将堕胎redis服务器 一般是一主二从三台 作为一个集群 一台是master 主节点 另外的节点称为slave/follower 称为从节点 集群内 主节点有读写功能,以写为主 从节点只有只读功能,不能写入数据 从节点的数据是从主节点复制过来的 主从复制的优点 实现了数据冗余,主备复制上的数据是一样的 实现了

redis主从复制、哨兵模式、集群_做个超努力的小奚的博客-爱代码爱编程

1、Redis主从复制 1.1、定义 主从复制:指将一台Redis服务器的数据,复制到其他的Redis服务器。 前者称为主节点(Master),后者称为从节点(Slave) 数据的复制是单向的,只能由主节点到从节点 默认情况下,每台Redis服务器都是主节点:且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 1.2、