4.Redis主从复制集群搭建步骤

本文主要介绍Redis主从复制的详细配置步骤。

1.主-从模式;

2.主-从-从模式。

一、主-从模式
1.主从模式从结构上来看,其实就是拥有master和slave的redis集群,其拓扑结构如图所示:
4.Redis主从复制集群搭建步骤_第1张图片

注意:Redis集群不用安装多个Redis,只需复制多个配置文件,修改即可。因此,本文的前提是用户需要自己安装好redis。

2.在安装好redis的前提下,复制三份配置文件到自己定义的某个目录下,如图:
4.Redis主从复制集群搭建步骤_第2张图片

3.修改redis_6379.conf、redis_6380.conf、redis_6381.conf三个配置文件,如下所述:

# vim ./6379/redis_6379.conf 

# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 注释以下内容开启远程访问
# bind 127.0.0.1

# 修改启动端口为6379
port 6379

# 修改pidfile指向路径
pidfile /usr/local/redis/etc/6379/redis_6379.pid

注意:以此类推,修改端口63806381配置。

4.启动三个终端,在各自端口上分别启动redis实例,如图:
4.Redis主从复制集群搭建步骤_第3张图片
4.Redis主从复制集群搭建步骤_第4张图片
4.Redis主从复制集群搭建步骤_第5张图片
由上图可知,已经在6379/6380/6381三个端口上启动了三个redis服务器。

5.使用【redis-cli -h host -p port】客户端连接命令,任意进入一个redis服务器,如图,这里使用【redis-cli -h 192.168.1.107 -p 6379】进入了6379服务器:
4.Redis主从复制集群搭建步骤_第6张图片
由上图可知,该redis还未配置有slave。

6.配置主从服务
      说明:主从服务的配置方式有两种:
          (1). 在redis.conf配置文件中设置slaveof

slaveof <masterip> <masterport>

          (2).使用redis-cli客户端连接到redis服务,执行slaveof命令(此方式在重启后将失去主从复制关系)

slaveof <masterip> <masterport>

本示例在此使用第二种方式作为演示,如下所示。

#1.使用Redis客户端连接上6380端口
[root@localhost 6380]# /usr/local/redis/bin/redis-cli -h 192.168.1.107 -p 6381
192.168.1.107:6381> slaveof 192.168.1.107 6379
OK
#2.使用Redis客户端连接上6381端口
[root@localhost 6381]# /usr/local/redis/bin/redis-cli -h 192.168.1.107 -p 6380
192.168.1.107:6380> slaveof 192.168.1.107 6379
OK

OK,经此设置,即可将6380和6381两个实例都设置为6379实例的slave。

7.查看redis的主从关系

使用Redis客户端连接上6379端口
# redis-cli -h 192.168.1.107 -p 6379

查看master主从关系 如下图所示
192.168.1.107:6379> info replication

4.Redis主从复制集群搭建步骤_第7张图片

使用Redis客户端连接上6380端口或6381端口
# redis-cli -h 192.168.1.107 -p 6380

查看slave的主从关系 如下图所示
192.168.1.107:6380> info replication

4.Redis主从复制集群搭建步骤_第8张图片

8.测试
(1).在master写入数据
4.Redis主从复制集群搭建步骤_第9张图片
(2).在slave读取数据
4.Redis主从复制集群搭建步骤_第10张图片
4.Redis主从复制集群搭建步骤_第11张图片
(3).在slave写入数据

192.168.1.107:6380> set a 123
(error) READONLY You can't write against a read only slave.

说明:默认情况下redis数据库充当master角色时是可读可写,而slave角色时是只读的,可以在配置文件中开启非只读:slave-read-only no。

一、主-从-从模式
      之所以会出现该模式,是因为redis的主从模式的缺点是所有的slave节点数据的复制和同步都由master节点来处理,会造成master节点压力太大,所以出现使用主-从-从模式来缓解master压力。

1.主从从模式从结构上来看,其实就是在主从模式的基础上,为slave增加slave的模式,其拓扑结构如图所示:
4.Redis主从复制集群搭建步骤_第12张图片

2.前面步骤同主从模式一致,只是在设置主从模式时,设置6381为6380的slave,如图:

192.168.1.107:6381> slaveof 192.168.1.107 6380
OK

3.查看主-从-从关系
     (1).使用redis客户端登录6379
     使用redis客户端登录6379,可以看到该redis实例充当master,如图:
4.Redis主从复制集群搭建步骤_第13张图片
     (2).使用redis客户端登录6380
     使用redis客户端登录6380,可以看到该redis实例既充当是master,也充当slave,如图:
4.Redis主从复制集群搭建步骤_第14张图片

     (3).使用redis客户端登录6381
     使用redis客户端登录6381,可以看到该redis实例充当slave,如图:
4.Redis主从复制集群搭建步骤_第15张图片

4.测试

(1).在master写入数据

192.168.1.107:6379> set a 123
OK

(2).在slave读取数据

192.168.1.107:6381> get a
"123"

192.168.1.107:6380> get a
"123"

你可能感兴趣的:(Redis)