redis主从连接不成功错误问题及解决

 更新时间:2024年01月18日 10:25:49   作者:wzq-blog  
这篇文章主要介绍了redis主从连接不成功错误问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教<BR>

redis主从连接不成功错误

安装完redis后,设置主从,在从服务器上运行

127.0.0.1:6379> slaveof 192.168.159.131 6379

slaveof <主服务器的IP> <主服务器redis的端口>

然后回到主服务器上,运行info replication

显示如下:

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

问题出现了

从没有连接上来。

查看主redis的日志文件

[1922] 22 Mar 22:04:24.971 * RDB: 0 MB of memory used by copy-on-write
[1544] 22 Mar 22:04:25.008 * Background saving terminated with success
[1544] 22 Mar 22:27:23.567 * Background saving started by pid 2079
[2079] 22 Mar 22:27:23.574 * DB saved on disk
[2079] 22 Mar 22:27:23.575 * RDB: 0 MB of memory used by copy-on-write
[1544] 22 Mar 22:27:23.604 * Background saving terminated with success

查看从服务器日志

有如下错误:

Error condition on socket for SYNC: No route to host

然后telnet 主的端口竟然不通,发现主服务器的iptables开着,关掉后就可以和主服务器的端口通了(生产环境添加iptables规则)。

但是发现还是从不能连上主,再看从的日志时

变成如下内容:

[4399] 22 Mar 14:41:56.311 # MASTER aborted replication with an error: NOAUTH Authentication required.
[4399] 22 Mar 14:41:57.313 * Connecting to MASTER 192.168.159.131:6379
[4399] 22 Mar 14:41:57.313 * MASTER <-> SLAVE sync started
[4399] 22 Mar 14:41:57.313 * Non blocking connect for SYNC fired the event.
[4399] 22 Mar 14:41:57.314 * Master replied to PING, replication can continue...
[4399] 22 Mar 14:41:57.315 * (Non critical) Master does not understand REPLCONF listening-port: -NOAUTH Authentication required.
[4399] 22 Mar 14:41:57.315 * Partial resynchronization not possible (no cached master)
[4399] 22 Mar 14:41:57.316 # Unexpected reply to PSYNC from master: -NOAUTH Authentication required.
[4399] 22 Mar 14:41:57.317 * Retrying with SYNC...
[4399] 22 Mar 14:41:57.319 # MASTER aborted replication with an error: NOAUTH Authentication required.

网上查找有说是版本不一致造成的,但是我的版本都是一样的。

最后找到了解决方法

原来是主从都开启了密码requirepass,导致不能验证成功

在redis从服务器的配置文件里面添加如下内容:

masterauth 123456  

(123456是我的主redis的密码,此参数是当与主连接时的密码验证)

总结

这样就解决了主从连接不成功问题~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • redis通过pipeline提升吞吐量的方法

    redis通过pipeline提升吞吐量的方法

    下面小编就为大家分享一篇redis通过pipeline提升吞吐量的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 基于redis.properties文件的配置及说明介绍

    基于redis.properties文件的配置及说明介绍

    今天小编就为大家分享一篇基于redis.properties文件的配置及说明介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Ubuntu22.04 LTS 上安装Redis的过程

    Ubuntu22.04 LTS 上安装Redis的过程

    Redis是一种开源的内存数据存储,可以用作数据库、缓存和消息代理等,本文将会介绍两种不同的安装方式,包括从源代码编译安装以及通过apt包管理器安装,需要的朋友参考下吧
    2023-11-11
  • 浅析Redis中红锁RedLock的实现原理

    浅析Redis中红锁RedLock的实现原理

    RedLock 是一种分布式锁的实现算法,由 Redis 的作者 Salvatore Sanfilippo(也称为 Antirez)提出,本文主要为大家详细介绍了红锁RedLock的实现原理,感兴趣的可以了解下
    2024-02-02
  • Redis队列和阻塞队列的实现

    Redis队列和阻塞队列的实现

    本文主要介绍了Redis队列和阻塞队列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • 一文了解发现并解决Redis热key与大key问题

    一文了解发现并解决Redis热key与大key问题

    热key是服务端的常见问题,本文主要介绍Redis热key与大key问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • nestjs使用redis实现ip限流的步骤详解

    nestjs使用redis实现ip限流的步骤详解

    如果使用nestjs开发接口并部署之后,我们通常需要考虑到接口是否会被恶意盗刷消耗过多的资源,一个简单的方式就是限制在单位时间内的访问次数,所以本文给大家介绍了nestjs使用redis实现ip限流的步骤,需要的朋友可以参考下
    2025-01-01
  • 浅析Redis Sentinel 与 Redis Cluster

    浅析Redis Sentinel 与 Redis Cluster

    本文主要介绍Redis Sentinel 及 Redis Cluster的区别及用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 从原理到实践分析 Redis 分布式锁的多种实现方案

    从原理到实践分析 Redis 分布式锁的多种实现方案

    在分布式系统中,为了保证多个进程或线程之间的数据一致性和正确性,需要使用锁来实现互斥访问共享资源,然而,使用本地锁在分布式系统中存在问题,这篇文章主要介绍了从原理到实践分析 Redis 分布式锁的多种实现方案,需要的朋友可以参考下
    2024-07-07
  • Redis中缓存预热与缓存穿透解决方案

    Redis中缓存预热与缓存穿透解决方案

    Redis缓存预热与缓存穿透是Redis缓存使用中的两个重要概念,文章首先介绍了Redis缓存预热和缓存穿透的基本概念,然后详细阐述了它们的产生原因和解决方案,感兴趣的可以了解一下
    2023-12-12

最新评论