环境描述:
centos:7.6
docker:19.03.1
redis:6.0.9
对于centos怎么装docker,docker又怎么装redis镜像等等内容就不做概述了。如果还不会这个,就先去百度把这些前置技能学习下
本文并没有配置哨兵模式,且全部是在一台服务器上完成的。
以下是正文
先贴一个redis官方的配置文件,使用下面的命令可以直接获取
wget http://download.redis.io/redis-stable/redis.conf
第一步:先建立redis主从配置的文件夹,区分redis.conf配置文件的存放,1个主2个从
mkdir -p /config/redis/redis_master/conf
mkdir -p /config/redis/redis_slave_1/conf
mkdir -p /config/redis/redis_slave_2/conf
第二步:分别进入到对应的conf,使用
wget http://download.redis.io/redis-stable/redis.conf 下载redis标准配置文件
第三步:先配置master配置文件
(1)、进入config/redis/redis_master/conf文件夹下编辑redis.conf配置文件
这里贴下在linux中操作文件的命令
#linux编辑文件
vi x.txt 编辑文件,进入vi命令模式
i,o,a 进入编辑模式,esc退出编辑模式,进入命令模式。
x 删除当前字符
dd 删除当前行
u 恢复前一步操作(等同于windos中的ctrl+z撤销)
p 复制之前删除的行
:q! 退出而不保存
:wq 保存并退出
q! 忽略修改强行退出
(2)、修改以下配置
# 将这一行改为0.0.0.0,表示Redis可以接受任意ip的连接
bind 0.0.0.0
# 关闭保护模式
protected-mode no
# 让redis服务后台运行(no是默认值,我没有选择去改)
# daemonize no
# 设定密码,如果master中配置了密码,slave配置里就需要加这个配置(我们做测试,不去更改)
# requirepass xxxx
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/var/log/redis/redis.log"
配置完成
第四步:启动master主配置redis
docker run -it --name redis6379 -v /config/redis/redis_master/conf/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 redis /bin/bash
主节点配置结束
下面进入从节点配置
提示:如果没有下载官方redis.conf配置文件,请先进入到redis_slave_1/conf文件夹下使用wget http://download.redis.io/redis-stable/redis.conf下载配置文件
前言:配置之前需要先知道redis主节点的桥接IP,使用一下命令查看
docker inspect <container_id>
然后修改配置
# 将这一行改为0.0.0.0,表示Redis可以接受任意ip的连接
bind 0.0.0.0
# 关闭保护模式
protected-mode no
# 让redis服务后台运行(no是默认值,我没有选择去改)
# daemonize no
# 设定密码,如果master中配置了密码,slave配置里就需要加这个配置(我们做测试,不去更改)
# requirepass xxxx
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/var/log/redis/redis.log"
# 设定master的IP和端口号(默认6379),低版本的该修改项为slaveof
# 注意这里的ip并不是服务器本身的IP,而是使用redis主节点的桥接地址
# replicaof 本身是注释掉的,在注释下面添加即可
replicaof 172.17.0.3 6379
从节点配置结束
启动从节点
启动成功,注意上面的路径和端口号不要再写成6379:6379了。
下面开始验证主从复制
先启动master主节点
最后一个命令什么也不会输出,看起来像卡了,其实不是,重新打开一个窗口(如果不想重新打开窗口可以把配置文件里面的daemonize no 改成yes即可在后台运行)
可以看见,redis6379是主节点,但由于从节点没有启动,所以connected_slaves为0,下面启动从节点
中间的日志文件夹因为在配置文件里面配了,所以一定要建立,否则会报错的,
这里看到,redis6380是从节点,并且已经挂在到了桥接地址为172.17.0.3端口为6379的主节点上,master_link_status:up 代表成功
下面再回头看看主节点里面的信息,然后测试主从复制
主节点里面有了桥接地址为172.17.0.4的从节点
主从复制也成功了(剩下那个从节点就不做演示了,都一样的思路)
下一篇:《redis主从持久化配置哨兵》地址:redis主从持久化配置之哨兵_cm777的博客-CSDN博客