文章目录
Redis的主从复制
一、操作系统的克隆
1. 保证一台完整的linux操作系统,并且有ip,防火墙关闭,主机名配置,redis服务正常。
2. 关闭第一台主机,开始克隆
在保证被克隆的主机关机状态下克隆,选择完整克隆,填好被克隆的主机存放的地址后。等待克隆成功
-
点击下一步
-
创建完整克隆
-
填写克隆机的名称和位置后,点击完成,等待一会
3. 修改克隆服务器的配置
主机关机的情况下:
3.1. 修改克隆服务器的IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
删除网卡配置文件中的uuid
修改ip地址
3.2. 删除网卡的配置文件
rm -rf /etc/udev/rules.d/70-persistent-ipoib.rules
3.3. 修改主机名
hostnamectl set-hostname xxxxx
或者修改配置文件
vi /etc/hosts
4. 重启克隆服务器
reboot
二、Redis的主从复制
应用场景
在实际开发运维过程中,单台redis存在单点故障。一台服务器的内存无法满足大规模缓存数据的要求。
1. 在从机上修改配置文件/etc/redis.conf
vim /etc/redis.conf
2. 将注释着的replicaof 打开,配置上主机的IP和端口
配置主机的IP和端口
replicaof 192.168.179.100 6379
配置主机的密码
masterauth 123456
3. 重启从机的redis服务
systemctl restart redis
4. 查看redis服务的状态
查看主机的redis服务的状态:
查看从机的redis服务的状态:
从机只能读不能写
监听日志:
tail -f /var/log/redis/redis.log
在主机上设置值,可以发现在从机上立即就可以查询出来
主从复制的特点:
a) master可以有多个slave
b) 除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构
c) 主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
d) 主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余
e) 可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
三、Redis的持久化
默认开启的是RDB(快照方式,间隔一定的时间)
rdb数据完整性不高,性能高。
使用AOF持久化(日志记录方式)
数据完整性高,性能低。
实战过程中,同时开启两种持久化。