Redis集群 - redis主从配置初步:主从从配置、哨兵配置

我们前面学习了简单的redis主从配置(结合稍兵),其实在我们的实际开发中要真正的达到“高可用”,”稍兵”还会部署多个,通过配置多个稍兵同时产生警报,那么我们再进行主从的切换。

这里写图片描述

前面我们配置了一个主机一个从机(用端口区分6379、6380),我们这里先再配置一个从机:
可能需要参考redis集群第一篇的配置。
6379是主机,6380是从机,我们先拷贝一份配置文件:

cp 6380.conf  6381.conf

显示我们准备把6381也作为从机,下面修改6381.conf几个配置项:

port 6380
修改为:
port 6381

pidfile /usr/local/redis/redis_6380.pid
修改为:
pidfile /usr/local/redis/redis_6381.pid

增加一行:
slaveof 127.0.0.1 6379

启动这3个redis实例(redis服务),并且启动稍兵(redis-sentinel服务):

/usr/local/redis/bin/redis-server /usr/local/redis/conf/6379.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6380.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6381.conf
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf

这里写图片描述

客户端链接主机(6379这台):

/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379

查看主机信息,输入info 命令:
这里写图片描述
角色是master,链接了2个slave,分别是slave0和slave1
这样就配置好了“一主两从“。

今天我们要学的是主从从

如果让所有的slave节点数据的复制和同步都是由master节点来处理,会造成master节点压力太大。
所以我们今天要学习如下图的架构:
这里写图片描述

在开始之前,我们需要重新调整一下redis的配置文件

修改dbfilename(生成的数据库文件名)
dbfilename “dump端口.rdb”
还需要修改dir(本地数据库目录)
dir “/usr/local/redis/datadir” (别忘了创建这个datadir文件夹,并且要主要权限哦)

我们这里演示一下6379.conf 文件要怎么修改:
这里写图片描述
其他2个配置文件6380.conf和6381.conf 同理修改。

修改了3个配置文件之后,重启服务:

pkill redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6379.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6380.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6381.conf
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf

然后我们就可以在datadir 目录发现点儿什么了:

cd /usr/local/redis/datadir/

这里写图片描述

好,然后回到我们的终点“主从从配置”。
修改我们的6381,它原本是隶属于6379的(6380也隶属于6379)。
我们现在要做的是:让6380隶属于63796381隶属于6380

关于哨兵配置

哨兵启动后起身自动修改配置文件(一般建议不要手动修改)
比如出现:
sentinel known-slave mymaster 127.0.0.1 6380
“known-slave”代表已知的从机。如果之前配的是一主多从,那么这里面会有这行配置。如果我们要配置“主从从”,那么要把多余的从(配置行)手工删掉。
其他一些配置:
sentinel leader-epoch mymaster 2
(同时一时间最多3个slave可同时更新配置)

打开我们的稍兵配置文件vi sentinel.conf来看一看:
这里写图片描述

因为我们现在是要配置“主从从”,是要6381隶属于6380,所以我们现在要把6381这行手工删掉。
这里写图片描述
好了,现在我们的稍兵只监听着6379,并且6379的从机只有6380。

然后我们修改6381的配置,让它隶属于6380:

vi 6381.conf

修改内容如下:

slaveof 127.0.0.1 6379
修改为:
slaveof 127.0.0.1 6380 #成为6380的从机

修改完配置,必须要重启服务:

pkill redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6379.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6380.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6381.conf
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf

此时,我们在客户端链接上主机(6379是我们的主机):

 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379

同样链接上后输入info命令查看:
这里写图片描述
此时我们发现6379这个主机,只有1个从机6380了。

我们在链接上6380看看:

/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6380

这里写图片描述

这样我们就配置好了redis的“主从从”:6379是主机,6380岁隶属于6379的从机,6381是隶属于6380的从机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值