Redis主从复制,一主二从,及薪火相传模式

声明一:我把/opt/myRedis作为我redis的启动目录,且已经安装好了redis,且把redis的配置文件redis.conf复制到了/opt/myRedis,把本目录作为我redis的启动目录。

声明二:由于我之前配置过了redis集群,因此本次演示我会使用端口号5379,5380,5381这三个端口号来进行演示

1,为每个redis服务,分配其自己的配置文件(就是先想好多个redis服务的配置文件怎样命名才能见名知意)。

因为要创建多个redis服务,那么就需要为各个端口启动的redis配置其独有的配置文件,我以redis+端口号+后缀(.conf)为每个redis服务配置属于其自己的配置文件

2,配置文件中所需要配置的内容(我们只需要配置标红的选项)

  1. 拷贝多个redis.conf文件include•拷贝多个redis.conf文件include
  2. 开启daemonize yes(引入的redis.conf默认已经配置好了我们不需要管
  3. Pid文件名字pidfile(让每个redis服务的pid文件不一样)
  4. 指定端口port(为每个redis服务分配端口号)
  5. Log文件名字(不用管)
  6. Dump.rdb名字dbfilename(指定每个redis服务的持久化文件的名字)
  7. Appendonly 关掉或者换名字(默认关掉)

     注意:2,5,7有默认配置,我们不需要管

 因为我们已经安装了redis,因此我们在配置多个redis集群服务时,只需要引入原来的redis.conf,然后再在后面追加如下三行内容即可(虽然我们在redis.conf中也有这三行配置,但是配置文件从上往下加载,我们后来的配置的会把之前配置的覆盖掉)

include /opt/myRedis/redis.conf
pidfile /var/run/redis_5379.pid
port 5379
dbfilename dump5379.rdb

 

上面就完成了一个redis服务的配置。因为一主二从,因此还要配置两个(端口号不同就行了),我们复制上面配置好的redis.5379.conf--->redis.5380.conf,    redis5381.conf,

 

并修改该对应配置文件的端口号(因为你复制过来的端口号为5379)

到此,三个redis服务的配置文件我们就已经配置好了

3,启动redis服务

启动redis服务:

​redis-server /opt/myRedis/redis5379.conf(刚刚配置的配置文件的位置)

客户端连接服务器,并指定端口号(三个redis服务,最好开三个命令行窗口,每个窗口运行一个redis客户端):

​redis-cli -p 5379(指定端口号)

 

查看是否启动成功:

按照此种方式依次启动这三个redis服务。

4,配置主从关系

先使用命令查看当前redis服务信息,会发现默认每个服务都是一个主节点(master)

然后使用    slaveof  <ip>  <port> 把当前redis服务设置为指定实例的从服务器,并使用info replication进行验证

 

可以发现5381端口中属性:role:slave即从master变成了slave

我们在检查主节点5379的属性:

我们会发现5379不单是master节点,还有两个从节点,从节点的端口号分别是5380,5381

如果不想把某台服务器设置为从服务器可以使用如下命令解绑:

    slaveof no one会重新把本机设置为主节点(不属于任何一个别的节点)

而且原来的主节点5379也会发现少了一个从服务器

 

至此,主从服务配置完成(但是命令行中的主从复制关系只是暂时的,服务重启后主从关系就会消失,如果想进行永久性的主从复制关系,那么需要在每个从服务器的配置文件中修改slaveof ip port)

 

薪火相传模式

声明:该模式也是基于上面配置好的三台redis服务。即:我们不再把两个从服务器5380,5381指向5379了,而是5381指向5380,即5381是5380的从服务器,5380是5381的主服务器

把5380指向5379.,而5380同时也是5379的从服务器

至此薪火相传模式配置好了。但是这种情况虽然减轻了主节点5379的压力。但是如果5380挂掉的话5379并不知道还有5381.因此并不会把数据复制给5381.这种模式的缺陷就是中间节点不能挂掉。

如果主节点5379挂掉的话,5380可以代替5379称为读写主节点。但是需要我们手动输入命令 slaveof  no one  将从机变为主机。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值