上篇文章我们说到,一主二从的模式,如果主机挂掉,从机等待主机连上之后,继续成为主机的slave。

但是这样会影响我们业务的正常运转呀,我们怎么来做呢?

目前的我的服务器:

192.128.116.128 6379为主:



192.128.116.129 6380为从:



192.128.116.130 6381为从:



现在我们让主机挂掉



另外两台从机在等待,我们在一台从机6380上执行命令 SLAVEOF no one,

让他中断主从关系,成为master




让另外一台从机 6381 SLAVEOF 192.168.116.129 6380

这样的话,6380和6381两台机器之间成为主从关系,即使6379重连上了,也和80 81没关系。






这样的话,一主二从,主机挂了,从机执行相关命令反客为主,原来的两台从机之间形成一个主从关系。

但是这样需要我们手动去操作,不是自动化的,当然不可取啦,下面引入redis的哨兵模式,哨兵模式的文档看这里
<https://blog.csdn.net/qq_33101675/article/details/80641068>。

恢复之前的一主二从模式

1、我们分别进入三台机器 cd /usr/local/src/redis-4.0.9

cp sentinel.conf sentinel_bak.conf

rm -rf sentinel.conf

vim sentinel.conf

sentinel monitor mymaster 192.168.116.128 6379 2 sentinel
down-after-milliseconds mymaster 60000 sentinel failover-timeout mymaster
180000 sentinel parallel-syncs mymaster 1#sentinel auth-pass mymaster
123456  #如果你的redis集群有密码

把上面这个给写进去 sentinel.conf 里,注意

192.168.116.128是我的主机的ip,这个因人而异了,当然你可以写127.0.0.1

三台服务器做一样的工作,当然可以用scp。


准备工作都完成之后,三台机器都启动redis,

 ./redis-server ../redis.conf ,启动完成之后,就是

一主(192.168.116.128 6379)二从(192.168.116.128 6380   192.168.116.128 6381)

然后再分别启动sentinel服务,./redis-sentinel ../sentinel.conf




可以看到master是192.168.116.128 6379




这里也能看到,master是128,下面有两个slave,分别是129 130,这时我们把主机停掉




观察sentinel里日志的变化,稍微等待一会





发现经过重新选举之后,192.168.116.129 6380 为master了。

我们来看下 6380 和 6381里的 info replication 信息

6380:可以看到,这台从机经过选举变成了 master了。





接下来的测试有问题,正在解决。。。








友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信