Redis学习第七天

今天完成了哨兵的部署,由于后续需要部署cluster集群,作者也不想设置太多容器,就决定先把这些操作记录下来,然后再把创建的容器删除。

对于哨兵配置完的直观感受就是:类似于从服务器的操作流程,最终能够在主服务器挂掉之后选择一个从服务器替代,并且如果先前的主服务器恢复,哨兵还能将它选择为从服务器。

流程是类似的,都是先创建配置文件,指定哨兵的工作端口、监控对象信息、日志文件位置:

最后的2表示:至少需要2台哨兵节点才能认定该主服务器失效。换句话说就是,一个哨兵可能发现主服务器挂掉了,但是这只是它发现的情况,并不一定是实实在在发生的事。所以它只是把主服务器这种情况判断为sdown,即“主观下线”。这时,这个哨兵就不再为主服务器监听了。但其他服务器要不要和它一样放弃监听呢?这就要求所有的服务器都要判断主服务器的状态。

如上面的配置,至少需要2台哨兵节点才能认定该主服务器失效。也就是说,在上面的例子中只要再出现一个哨兵发现主服务器失效,原本status=sdown、主观下线的主服务器这下子是真的可以判断下线了,变成“客观下线”状态(status=odown)。这时哨兵们就会马不停蹄地找到某个得力从服务器,将其选择为主服务器。

配置完文件,记得先设置文件夹权限,再创建启动哨兵节点的容器。

-v挂载数据卷,把/opt/server和容器的redisConfig文件绑定。

作者第一次哨兵信息检验的时候就遇到status=sdown,也就是检测到主服务器掉线。作者今天花了一些功夫才发现原因:之前作者存在重启redis-master主服务器的操作,导致主服务器的ip变化,并且主从关系并没有改变,最终结果就是主从服务器断连,并且哨兵还没开始监听主服务器,无法将从服务器转化为主服务器。

这种ip变化是一种动态变化,也就是说,在每一次docker运行过程中,重启一次就会改变一次。但是如果关闭所有容器,重启docker之后,所有容器的ip都会恢复从前,这样就能恢复主服务器和从服务器之间的连接,也能恢复哨兵的监听功能。因为主服务器的ip一旦正确,就能与所有节点(不管是从服务器还是哨兵)的配置文件的ip对应,关系也就确定下来。最终哨兵信息如下图所示。

如图,最后一行哨兵的status=ok,且master有2个slaves和一个sentinel哨兵,再为主服务器配置一个哨兵,最终结果如下:

sentinels=2,这样就会有两个哨兵监听主服务器了。我们模拟主服务器掉线,即停止redis-master容器运行(注意其端口为6379),等一段时间后查看redis集群状态:

作者当时没截图,上面的截图是新的,端口不一样。重点关注新的master已经产生,并且其从服务器个数connected_slaves=1。当我们通过start原本关掉的6379服务器时,它会以从服务器的状态出现,这就体现了哨兵的作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joy T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值