redis主从复制相关知识点以及搭建(一主一从)

目录

一、概念

二、作用

三、缺点

四、流程

五、搭建

(一)搭建环境

 (二)解决依赖关系

(三)安装redis

(四)创建目录

(五)复制配置文件

(六)修改配置文件

 (七)启动服务

(八)检查端口是否启动

(九)验证


一、概念

redis主从复制是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。

二、作用

(一)数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

(二)故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

(三)负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

(四)高可用:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

三、缺点

(一)故障恢复无法自动化;

(二)写操作无法负载均衡;

(三)存储能力受到单机的限制。

四、流程

第一步:若启动一个Slave机器进程,则它会向Master机器发送一个“sync command”命令,请求同步连接。

第二步:无论是第一次连接还是重新连接,Master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作),同时Master还会记录修改数据的所有命令并缓存在数据文件中。

第三步:后台进程完成缓存操作之后,Maste机器就会向Slave机器发送数据文件,Slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着Master机器就会将修改数据的所有操作一并发送给Slave端机器。若Slave出现故障导致宕机,则恢复正常后会自动重新连接。

第四步:Master机器收到Slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Mater同时收到多个Slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的Slave端机器,确保所有的Slave端机器都正常。

五、搭建

(一)搭建环境

1、关闭Networkmanager以及开机不自启
    systemctl  stop   NetworkManager
    systemctl  disable   NetworkManager

2、关闭防火墙开机以及不自启
    systemctl  stop  firewalld
    systemctl  disable  firewalld

3、关闭selinux
    vim  /etc/selinux/config
 
    setenforce  0

 4、静态配置IP
    vim   /etc/sysconfig/network-scripts/ifcfg-ens33
        
    systemctl  restart  network

 (二)解决依赖关系

yum install -y epel-release

(三)安装redis

yum install -y redis

(四)创建目录

cd  /usr/local

mkdir   redis_master_slave

cd   redis_master_slave

mkdir   master_conf   slave1_conf                  #master_conf作为主服务器的配置文件

                                                                        #slave1_conf 作为从服务器的配置文件

(五)复制配置文件

cp   /etc/redis.conf   master_conf

cp   /etc/redis.conf   slave_conf

(六)修改配置文件

1、修改主服务器的配置文件

命令:cd   master_conf

           vim   redis.conf

bind  0.0.0.0                                        #修改监听地址

port 6379                                             #修改监听端口号

protected-mode    no                           #修改保护模式

daemonize    yes                                #是否以守护进程方式运行Redis服务器,yes表示后台进程

2、修改从服务器的配置文件

命令:cd   slave1_conf

           vim   redis.conf

bind  0.0.0.0                                        #修改监听地址

port 6380                                             #修改监听端口号

protected-mode    no                           #修改保护模式

daemonize    yes                                #是否以守护进程方式运行Redis服务器,yes表示后台进程

slaveof  192.168.115.128  6379         #用于将当前Redis实例设置为一个备份实例,它将从指定IP地址和端口号指定的主Redis实例中复制数据。将图一改为图二

#slaveof    masterip    masterport

其中,masterip是主Redis实例的IP地址,masterport是主Redis实例的端口号。

图一

图二

#注意有些是将注释取消掉进行修改的。

 (七)启动服务

redis-server   /usr/local/redis_master_slave/master_conf/redis.conf

redis-server   /usr/local/redis_master_slave/slave1_conf/redis.conf

(八)检查端口是否启动

netstat  -anptul   | grep  redis

(九)验证

使用redis-cli命令行登录redis服务器,输入role指令查看状态

redis-cli    -h 192.168.115.128  -p 6379

主服务器状态
从服务器状态

在master节点上,录入数据,在slave节点上查看到对应数据即可

主服务器操作
从服务器查看

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值