Redis——Centos7主从模式搭建

278 阅读2分钟

简介

前面说了redis主从复制的原理,自己搞了几台虚拟机,搭建了一下。
以下将展示实际的搭建过程:搭建的命令和主从模式的效果。

搭建过程

命令:

# 虚拟机1 作为master
# 拉取redis镜像
docker pull redis

#创建redis-0容器 作为master
docker run -d -p 6379:6379 --name redis-0 --network host <images-id> redis-server --requirepass <password>

# --name redis-0 指定redis容器名称为redis-0
# --network host 指定容器的ip为本机ip(该虚拟机) 而不是docker分配虚拟ip
# --requirepass <password> 指定redis密码,这里我设置的是 123456

#进入容器查看是否创建成功:
docker exec -it redis-0 redis-cli -a 123456

#成功进入,表明创建成功

# 接着是虚拟机2 作为slave
# 创建的步骤一样命令一样 只是这里为了区分,容器的名称我们设置为redis-1
docker run -d -p 6379:6379 --name redis-1 --network host <images-id> redis-server --requirepass <password>

#同样进入容器中查看
docker exec -it redis-1 redis-cli -a 123456

#接着我们需要将redis-1 指定为redis-0的slave,redis里面有个slaveof host port 命令
#顾名思义,即 host port 的从redis
#通过 ip addr 查看redis-0 所在虚拟机地址为192.168.137.128
slaveof 192.168.137.128 6379

#接着配置master登录密码 config set masterauth <master-password>,上面我们设置了密码为123456
config set masterauth 123456

接着使用info 查看是否设置成功

查看效果

如图,查看Replication部分信息:

master_host 主redis地址:192.168.137.128
 
master_port 主redis端口:6379
#到这里一切正常,但是:

master_link_status:down 
#表明连接到master时是失败的,前面的配置是正常的,所以应该是两台虚拟机之间网络不通导致
# 关闭防火墙
systemctl stop firewalld
#永久关闭防火墙
systemctl stop firewalld
#重启一下redis-0
docker restart redis-1


关闭防火墙后重启:一切正常

到此一个简单的redis主从复制模式就完成了。 后续还会持续更新redis集群、redis分布式锁、redis如何限流等文章。