使用redis实现主从复制,搭建一主多从时master主机不显示slave从机的连接信息
问题:使用redis实现主从复制,搭建一主多从时master主机不显示slave从机的连接信息:使用redis实现主从复制,搭建一主多从时master主机不显示slave从机的连接信息
问题:使用redis实现主从复制,搭建一主多从时master主机不显示slave从机的连接信息?
使用命令slaveof <主机ip> <主机端口号> 指定了从机,但在主机中使用info replication命令不能查看到从机信息:(我用的3个窗口模拟的主从复制,端口号6379是主机,6380和6381是两个从机)
主机:6379

从机1:6380

从机2:6381

原因是我在redis.conf文件中指定了自己的密码,在进行主从复制时,主机master会要求密码验证。有两种解决办法:
1、将redis.conf配置文件中的密码部分requirepass注掉。
2、配置从机的masterauth,我用的第二种方法。
- 使用vim命令打开每个从机的配置文件例如我的从机配置文件叫redis6380.conf和redis6381.conf。
- 在配置文件末尾使用命令masterauth,格式:masterauth +你之前在redis.conf中设置的密码.


保存退出。再次启动redis的从机slave和主机master:
启动从机slave 6380:

启动从机slave 6381:

启动主机master:

再次使用info replication命令发现可以显示从机的连接信息,问题完美解决。

分割线======================================================================
注意:在使用哨兵模式时,主机挂掉了,会在从机选举中产生新的主机,原主机在重新启动后会变成从机。
我在重启6379原主机时,虽然原主机已经变成了从机,但是却显示此时的主机6381为down状态,如图:

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

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

原主机6379的redis6379.conf文件:

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

希望能帮到大家!!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)