使用Redis实现主从复制,主机看不到从机slave连接信息(master_link_status显示为down)

使用Redis实现主从复制,主机看不到从机slave连接信息(master_link_status显示为down)

一、普通模式

使用命令slaveof <主机ip> <主机端口号> 指定了从机,但在主机中使用info replication命令不能查看到从机信息:(我用的3个窗口模拟的主从复制,端口号6379是主机,6380和6381是两个从机)

主机:6379

在这里插入图片描述

从机1:6380------这里的主机连接状态master_link_status显示为down,也就是未连接主机

在这里插入图片描述

从机2:6381------这里的主机连接状态master_link_status也显示为down,也未连接主机

在这里插入图片描述

因是我在redis.conf文件中指定了自己的密码,在进行主从复制时,主机master会要求密码验证。有两种解决办法:

1、将redis.conf配置文件中的密码部分requirepass注掉。

2、配置从机的masterauth,我用的第二种方法。

​ 使用vim命令打开每个从机的配置文件例如我的从机配置文件叫redis6380.conf和redis6381.conf。

​ 在配置文件末尾使用命令masterauth,格式:masterauth +你之前在redis.conf中设置的密码。

在这里插入图片描述

在这里插入图片描述

保存退出。

这里重中之重!!!我之前修改完之后,关闭,重新启动,但还是连接失败。问题出现在,我只进行了shutdown操作而没杀死进程,我们要先将其进程kill杀死,然后再重新启动服务器!

这里我们再次启动redis的从机slave和主机master,再次使用info replication命令发现可以显示从机的连接信息,问题完美解决。

在这里插入图片描述

二、哨兵模式

在使用哨兵模式时,主机挂掉了,会在从机选举中产生新的主机,原主机在重新启动后会变成从机。

我在重启6379原主机时,虽然原主机已经变成了从机,但是却显示此时的主机6381为down状态,如图:

在这里插入图片描述

而在此时的主机6381中,也没有从机6379的信息,只有从机6380,如图:

在这里插入图片描述

最终问题出现在,还是因为之前设置了redis的密码导致的。此时要在sentinel.conf即哨兵文件中和原主机6379的配置文件redis6379.conf中指定密码,如图所示:

哨兵文件sentinel.conf:

在这里插入图片描述

原主机6379的redis6379.conf文件:

在这里插入图片描述

配置好后,就可以在新主机6381中看到从机6379的信息啦!

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

科研达人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值