在配置这些功能之前先安装redis,可以参考:https://blog.51cto.com/u_12141297/5868658
所有的例子都是在一台主机上演示的,实际生产中是在不同主机上配置,方法类似。
一主二从的配置
1、复制配置文件
首先创建一个文件夹用于存放redis的配置文件,然后将配置文件复制到这个新建的文件夹内。
mkdir -p /redisconf/master-slave #创建文件夹
cd /redisconf/master-slave
cp /opt/redis-6.2.7/redis.conf /redisconf/master-slave/redis.conf #复制配置文件
ll #查看是否创建成功
当看到目录下有redis.conf表示复制成功。
2、修改配置通用配置文件
vim ./redis.conf
做如下修改
1、daemonize no 修改为 daemonize yes 开启守护进程
2、保证 appendonly 设置的是no 不开启aof持久化
3、注释 bind 127.0.0.1 -::1 redis对所有IP都可以链接,否则开启就只能本机可以连这个redis.
三处修改好之后保存。
3、创建各个主从redis的配置文件。
首先创建主机配置文件
vim ./redis6379.conf
写入以下内容,主要以redis端口好区分
#引入公共配置部分
include /redisconf/master-slave/redis.conf
#pid文件名
pidfile /var/run/redis_6379.pid
#redis端口
port 6379
#rdb持久化文件名
dbfilename dump6379.rdb
将配置文件复制两份并修改作为从机的配置文件。
cp ./redis6379.conf ./redis6380.conf #从机6380配置文件
cp ./redis6379.conf ./redis6381.conf #从机6381配置文件
ll #查看文件夹下的所有配置文件
修改6380从机配置文件
vim ./redis6380.conf
修改成如下内容
修改6381从机配置文件
vim ./redis6381.conf
修改成如下内容
4、启动三个redis
redis-server ./redis6379.conf
redis-server ./redis6380.conf
redis-server ./redis6381.conf
ps -ef | grep redis #查看启动的redis进程
5、查看Redis服务器状态
分别连接三个 redis
redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381
进入 redis后输入 info replication 命令查看redis状态
此时三个redis服务都是主机状态没有主从的效果。
6、进入从服务器配置为从机。在从机上输入 slaveof 主机ip 主机端口port
再查看从机状态
7、测试主从效果
主从搭建好了只能在主机上进行写操作,从机可以读。
可以看到只有主机可以写,从机写操作失败。
此时三个服务器都可以读。
自此一主二从都搭建成功了,如果要搭建一主多从,同理增加从机配置就可以了。