Redis集群结构:我们搭建的主从集群结构如下图:
共包含了三个节点:一个主节点,两个从节点。
这里我们会在同一台虚拟机中开启3个Redis实例,来模拟主从集群。信息如下图:
如果想要使用真实的3台Redis实例,建议使用docker来安装。关于使用docker安装三主三从的Redis可以详见凯哥写的docker系列教程中的《docker高级篇第二章-分布式存储之实战案例:3主3从redis集群扩容配置》这篇文章.好了,回到本篇,咱们使用一台虚拟机模拟集群的。
一:准备实例和配置信息
要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。
1.1:创建目录
我们创建三个文件及,名字分别是:7001、7002、7003
创建命令如下:
创建完成后,如下图:
1.2:恢复原始配置
修改redis-6.2.4/redis.conf文件,将其中的持久化模式改为默认的RDB模式,AOF保持关闭状态。
1.3:拷贝文件到每个实例目录
然后将redis-6.2.4/redis.conf文件拷贝到三个目录中(在/tmp目录执行下列命令):
1.4:修改每个实例端口、工作目录
修改每个文件夹内的配置文件,将端口分别修改为7001、7002、7003,将rdb文件保存位置都修改为自己所在目录(在/tmp目录执行下列命令):
1.5:修改每个实例的声明IP
虚拟机本身有多个IP,为了避免将来混乱,我们需要在redis.conf文件中指定每一个实例的绑定ip信息,格式如下:
每个目录都要修改,我们一键完成修改(在/tmp目录执行下面的命令):
请注意:将ip修改成你们自己的ip !!!!
二:启动
为了方便查看日志,我们打开3个ssh的窗口,分别启动3个Redis实例。启动命令如下:
启动后:
如果要一键停止,可以允许如下命令:
三:开启主从关系
现在三个实例还没有任何关系,要配置主从可以使用replicaof或者slaveof(5.0版本之前的)命令。
有临时和永久两个模式:
永久生效模式:修改配置文件
在redis.conf中添加一行。如下:
临时模式(重启后就失效):使用redis-cli客户端连接到Redis服务后,执行slaveof命令。如下:
注意:在5.0以后新增命令replicaof,与salveof效果一致。
这里为了演示的方便,就使用第二种方案-临时的。
通过redis-cli命令连接到7002,执行下面的命令:
通过redis-cli命令连接7003,执行下面命令:
然后连接7001节点,查看集群状态:
查看结果如下图:
四:测试
执行下列操作测试:
利用redis-cli连接7001,执行set num 123
利用redis-cli连接7002,执行get num,再执行set num 666
利用redis-cli连接7003,执行get num,再执行set num 888
可以发现,只有在7001这个master节点上可以执行写操作。7002和7003这两个slave节点只能执行读操作。
评论已关闭