准备配置文件
由于是使用一台服务器来模拟集群,所以需要多个配置文件,本文章是一主二从,所以需要三个配置文件。
[root@syi redis-6.2.6]cp redis.conf redis79.conf
[root@syi redis-6.2.6]cp redis.conf redis80.conf
[root@syi redis-6.2.6]cp redis.conf redis81.conf
将原有的配置文件复制三份
ls命令查看没有问题
分别修改配置文件。
- 修改pid的名字
- 修改dump文件的名字
- 修改端口号
- 修改日志文件的名字
启动并连接服务
使用不同的配置文件启动redis
[root@syi bin]redis-server ../src/redis-6.2.6/redis79.conf
[root@syi bin]redis-server ../src/redis-6.2.6/redis80.conf
[root@syi bin]redis-server ../src/redis-6.2.6/redis81.conf
查看是否启动成功
如图,表示启动成功
分别连接三个服务,并ping通。
redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381
配置主从关系
默认情况下每一个服务都是主,使用info replication
可以查看
使用同样的方法进行查看可以发现三个服务全部都是主机,在80的服务下执行slaveof 127.0.0.1 6379
,就可以将80的服务配置为79服务的从机。
可以看到当前80的服务已经是79的从机了,同样的命令放到81服务当中执行一遍。81也变成了79的从机了。
配置好从机之后查看主机信息
可以看到主机已经有了两个从机。
这是临时的主从复制,真正的是在配置文件中配置。
在配置文件中配置
将replicaof 的注释取消,后接主机ip和端口号,如果主机有密码的话要将下面masterauth的注释取消后接上主机的密码。
注意
主机能写能读,从机只能读不能写。
问题
当主机断开连接,从机没有主机了,无法进行写操作,只能进行读操作,当主机重新启动,恢复正常。
没有在配置文件当中配置主从关系,当从机断开连接后再恢复,就不再是以前那个主机的从机了,而是自己变成了一台主机。当使用命令行再次配置为从机就可以读主机的所有数据。全量复制,数据一致性。
如果主机断开连,可以手动使用slaveof no one
命令将从机变为主机。
ps:没什么用,我就是记录一下,工作中用不到,工作中要使用哨兵模式。