redis主從連接不成功錯(cuò)誤問(wèn)題及解決
redis主從連接不成功錯(cuò)誤
安裝完redis后,設(shè)置主從,在從服務(wù)器上運(yùn)行
127.0.0.1:6379> slaveof 192.168.159.131 6379
slaveof <主服務(wù)器的IP> <主服務(wù)器redis的端口>
然后回到主服務(wù)器上,運(yùn)行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
問(wèn)題出現(xiàn)了
從沒(méi)有連接上來(lái)。
查看主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
查看從服務(wù)器日志
有如下錯(cuò)誤:
Error condition on socket for SYNC: No route to host
然后telnet 主的端口竟然不通,發(fā)現(xiàn)主服務(wù)器的iptables開(kāi)著,關(guān)掉后就可以和主服務(wù)器的端口通了(生產(chǎn)環(huán)境添加iptables規(guī)則)。
但是發(fā)現(xiàn)還是從不能連上主,再看從的日志時(shí)
變成如下內(nèi)容:
[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.
網(wǎng)上查找有說(shuō)是版本不一致造成的,但是我的版本都是一樣的。
最后找到了解決方法
原來(lái)是主從都開(kāi)啟了密碼requirepass,導(dǎo)致不能驗(yàn)證成功
在redis從服務(wù)器的配置文件里面添加如下內(nèi)容:
masterauth 123456
(123456是我的主redis的密碼,此參數(shù)是當(dāng)與主連接時(shí)的密碼驗(yàn)證)
總結(jié)
這樣就解決了主從連接不成功問(wèn)題~
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于redis.properties文件的配置及說(shuō)明介紹
今天小編就為大家分享一篇基于redis.properties文件的配置及說(shuō)明介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Ubuntu22.04 LTS 上安裝Redis的過(guò)程
Redis是一種開(kāi)源的內(nèi)存數(shù)據(jù)存儲(chǔ),可以用作數(shù)據(jù)庫(kù)、緩存和消息代理等,本文將會(huì)介紹兩種不同的安裝方式,包括從源代碼編譯安裝以及通過(guò)apt包管理器安裝,需要的朋友參考下吧2023-11-11淺析Redis中紅鎖RedLock的實(shí)現(xiàn)原理
RedLock?是一種分布式鎖的實(shí)現(xiàn)算法,由?Redis?的作者?Salvatore?Sanfilippo(也稱(chēng)為?Antirez)提出,本文主要為大家詳細(xì)介紹了紅鎖RedLock的實(shí)現(xiàn)原理,感興趣的可以了解下2024-02-02Redis隊(duì)列和阻塞隊(duì)列的實(shí)現(xiàn)
本文主要介紹了Redis隊(duì)列和阻塞隊(duì)列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11一文了解發(fā)現(xiàn)并解決Redis熱key與大key問(wèn)題
熱key是服務(wù)端的常見(jiàn)問(wèn)題,本文主要介紹Redis熱key與大key問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05nestjs使用redis實(shí)現(xiàn)ip限流的步驟詳解
如果使用nestjs開(kāi)發(fā)接口并部署之后,我們通常需要考慮到接口是否會(huì)被惡意盜刷消耗過(guò)多的資源,一個(gè)簡(jiǎn)單的方式就是限制在單位時(shí)間內(nèi)的訪問(wèn)次數(shù),所以本文給大家介紹了nestjs使用redis實(shí)現(xiàn)ip限流的步驟,需要的朋友可以參考下2025-01-01淺析Redis Sentinel 與 Redis Cluster
本文主要介紹Redis Sentinel 及 Redis Cluster的區(qū)別及用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06從原理到實(shí)踐分析?Redis?分布式鎖的多種實(shí)現(xiàn)方案
在分布式系統(tǒng)中,為了保證多個(gè)進(jìn)程或線程之間的數(shù)據(jù)一致性和正確性,需要使用鎖來(lái)實(shí)現(xiàn)互斥訪問(wèn)共享資源,然而,使用本地鎖在分布式系統(tǒng)中存在問(wèn)題,這篇文章主要介紹了從原理到實(shí)踐分析?Redis?分布式鎖的多種實(shí)現(xiàn)方案,需要的朋友可以參考下2024-07-07