文章目录
1:准备
在我们 redis 搭建的基础上,我们按照上次的方式再次创建一个 6381,6382 的实例( 6380 已经创建过了),为了搭建的方便性,我们在一台机器上,三台实例来搭建 redis 的主从,分别是:
6380 主
6381 从
6382 从
2:搭建
2.1:将三台实例的配置文件复制出来
复制出来的目的是:方便修改,留下原始文件,容易恢复。
# 这里我选择将配置文件复制到这这里
cd /usr/loca/redis/
ls
# 创建一个新的文件夹 myconf
mkdir myconf
# 将redis 实例文件复制到此目录下
cp /etc/redis/* ./
2.2:对配置文件进行改造
分别对 6380.conf , 6381.conf , 6382.conf 三个配置文件进行改造
2.3:分别启动三台实例
分别打开三个客户端,一个界面启动一个实例
redis-server /usr/local/redis/myconf/6380.conf
redis-server /usr/local/redis/myconf/6381.conf
redis-server /usr/local/redis/myconf/6382.conf
2.4:让 6381 追随 6380
新打开三个窗口,先连接 6380 的 redis-cli ,在 6380 里面随意添加一些数据
# 连接 6380 客户端
redis-cli -p 6380 -a 密码
# 随意添加一些数据
mset k1 aaa k2 bbb k3 ccc k4 ddd k5 eeee
# 查看
keys *
在 6381 客户端里面进行追随 6380
# 连接 6381 客户端
redis-cli -p 6381 -a 密码
# 查看数据
keys *
# 追随 6380
REPLICAOF 127.0.0.1 6380
# 查看数据
keys *
可以看到 ,6381 将 6380 的数据同步过来了。具体情况是怎样的,我们查看一下日志。
2.5:让 6381追随 6380查看日志,进行分析
首先查看 6380 的日志
可以看到 主机 6380 通过 bgsave 命令 ,采用写时复制技术 向 6381 同步数据
我们再查看 6381 的日志
可以看到 ,首次连接,从机会清空旧的数据,再去同步数据
2.6:让 6382 追随 6380
# 连接 6381 客户端
redis-cli -p 6382 -a 密码
# 追随 6380
REPLICAOF 127.0.0.1 6380
# 查看数据
keys *
到此,主从搭建完毕。
注意:如果主挂掉了,需要手工去启动,没有自动选主的功能。此时从还提供查询功能
需要 主 的高可用,接下来会继续更新。