Redis主从复制 搭建
目录
1、创建三个redis-server服务实例
2、修改相应的配置文件
3、删除掉原来的持久化数据(省略)
4、启动三个实例
5、启动三个客户端
6、使用命令的方式设置主从节点
7、如果从节点突然挂掉了,可以重新恢复
8、如果主节点突然挂掉了,可以将从节点提升为主节点
9、查看当前redis实例的状态
Redis 的主从复制用于将主服务器的数据复制到一个或多个从服务器。主从复制的主要原因有:
数据冗余:实现数据的热备份,当主服务器 down 掉时,从服务器可以继续提供服务。
负载均衡:通过主从复制,我们可以将读操作分摊到多个从服务器上,分担主服务器的读压力,提高系统的吞吐量。
高可用性:当主服务器宕机时,从服务器可以接替主服务器继续处理读写请求,保证服务的高可用性。
数据分片:我们可以将不同的主服务器设置不同的数据库编号,让各个从服务器同步不同主服务器的数据,实现数据分片的作用。
进行数据分析或数据挖掘:从服务器的数据是主服务器数据的拷贝,我们可以在从服务器上进行各种数据分析,而不会影响主服务器的性能。
Redis 主从复制的工作过程:
启动从服务器时,设置 replication-replica-server 参数指定主服务器地址。
从服务器启动后会连上主服务器,发送 SYNC 命令获取主服务器全部的数据。
主服务器接收到 SYNC 命令后,会开始反复发送RDB文件到从服务器,直到发送完毕。
RDB文件发送完毕后,主服务器开始反复将新的命令发送给从服务器,从服务器执行这些命令,保证数据与主服务器一致。
如果网络中断,从服务器会记录断开时最近一次同步成功的位置,等网络恢复后继续同步。
使用命令实现主从复制:
1、创建三个redis-server服务实例
在redis中的utils中执行以下命令:
./install_server.sh 指定一个端口号为6379 主节点
./install_server.sh 指定一个端口号为6380 从节点
./install_server.sh 指定一个端口号为6381 从节点
2、修改相应的配置文件
在etc/redis中修改配置文件:
创建一个文件夹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
查看主从关系:
info replication
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
还没有评论,来说两句吧...