Redis主从复制 搭建

小灰灰 2023-10-09 22:22 117阅读 0赞

目录

1、创建三个redis-server服务实例

2、修改相应的配置文件

3、删除掉原来的持久化数据(省略)

4、启动三个实例

5、启动三个客户端

6、使用命令的方式设置主从节点

7、如果从节点突然挂掉了,可以重新恢复

8、如果主节点突然挂掉了,可以将从节点提升为主节点

9、查看当前redis实例的状态


Redis 的主从复制用于将主服务器的数据复制到一个或多个从服务器。主从复制的主要原因有:

  1. 数据冗余:实现数据的热备份,当主服务器 down 掉时,从服务器可以继续提供服务。

  2. 负载均衡:通过主从复制,我们可以将读操作分摊到多个从服务器上,分担主服务器的读压力,提高系统的吞吐量。

  3. 高可用性:当主服务器宕机时,从服务器可以接替主服务器继续处理读写请求,保证服务的高可用性。

  4. 数据分片:我们可以将不同的主服务器设置不同的数据库编号,让各个从服务器同步不同主服务器的数据,实现数据分片的作用。

  5. 进行数据分析或数据挖掘:从服务器的数据是主服务器数据的拷贝,我们可以在从服务器上进行各种数据分析,而不会影响主服务器的性能。

Redis 主从复制的工作过程:

  1. 启动从服务器时,设置 replication-replica-server 参数指定主服务器地址。

  2. 从服务器启动后会连上主服务器,发送 SYNC 命令获取主服务器全部的数据。

  3. 主服务器接收到 SYNC 命令后,会开始反复发送RDB文件到从服务器,直到发送完毕。

  4. RDB文件发送完毕后,主服务器开始反复将新的命令发送给从服务器,从服务器执行这些命令,保证数据与主服务器一致。

  5. 如果网络中断,从服务器会记录断开时最近一次同步成功的位置,等网络恢复后继续同步。

使用命令实现主从复制:

1、创建三个redis-server服务实例

在redis中的utils中执行以下命令:

./install_server.sh 指定一个端口号为6379 主节点
./install_server.sh 指定一个端口号为6380 从节点
./install_server.sh 指定一个端口号为6381 从节点

527c73a669f84b88be993d3bb40afcb8.png

2、修改相应的配置文件

在etc/redis中修改配置文件:

d2a0383e2d064a1988ca636fb650c1e1.png

创建一个文件夹port用来放置三个配置文件
6379.conf
6380.conf
6381.conf
1)将配置文件的端口号进行修改 port
2)将logfile注释掉
3)将appendonly 设置为 no
4)将daemonize 设置为 no ————- 可以不修改,目的是三个实例作为前台进程运行
5)dbfilename 修改称自己的
目的是三个实例作为前台进程运行

3、删除掉原来的持久化数据(省略)

rm -rf

4、启动三个实例

[root@bogon utils]# systemctl start redis_6379.service
[root@bogon utils]# systemctl start redis_6380.service
[root@bogon utils]# systemctl start redis_6381.service

确认 Redis 服务器已成功启动:查看状态、

[root@bogon utils]# systemctl status redis_6380.service

3e858783a87d45bab24191d93f9d4573.png

查看主从关系:

info replication

20df65e08a564df588130e18eeddc518.png

5、启动三个客户端

redis-cli # 进入主节点
redis-cli -p 6380 # 进入从节点
redis-cli -p 6381

6、使用命令的方式设置主从节点

在从节点的客户端中执行如下命令即可设置当前节点为从节点,连接主节点的地址和端口号:
REPLICAOF 127.0.0.1 6379 或者 slaveof 127.0.0.1 6379

7、如果从节点突然挂掉了,可以重新恢复

redis-server /etc/redis/6380.conf REPLICAOF 127.0.0.1 6379

8、如果主节点突然挂掉了,可以将从节点提升为主节点

在从节点的客户端连接中执行如下命令:
REPLICAOF no one 或者slaveof no one 此时从节点变为主节点,其他从节点需要重新连接到新的主节点

9、查看当前redis实例的状态

在客户端中执行如下命令:
info replication

发表评论

表情:
评论列表 (有 0 条评论,117人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Redis主从复制

    目录 1、创建三个redis-server服务实例 2、修改相应的配置文件 3、删除掉原来的持久化数据(省略) 4、启动三个实例 5、启动三个客户端 6、使用命令的

    相关 redis主从复制环境

    1、主从模式介绍: redis的主从模式,使用异步复制,slave节点异步从master节点复制数据,master节点提供读写服务,slave节点只提供读服务(这个是默认