搭建一個(gè)三主三從的redis集群配乱,所有redis都啟動(dòng)后煌集,然后使用命令行創(chuàng)建集群刺覆,命令行如下所示节沦,-a 是指定了密碼(在redis配置文件中啟用了密碼連接)
./redis-cli --cluster create 192.168.0.10:6479 192.168.0.10:6579 192.168.0.10:6679 192.168.0.10:6779 192.168.0.10:6879 192.168.0.10:6979 --cluster-replicas 1 -a 123456
集群創(chuàng)建完成后直接使用命令行測(cè)試數(shù)據(jù)的讀寫(xiě)卖怜,發(fā)現(xiàn)讀寫(xiě)正常屎开,沒(méi)有出現(xiàn)問(wèn)題(原因是讀寫(xiě)只在master節(jié)點(diǎn)上進(jìn)行了,從節(jié)點(diǎn)讀取數(shù)據(jù)沒(méi)有測(cè)試马靠,所以沒(méi)有及時(shí)發(fā)現(xiàn)集群?jiǎn)栴})
然后使用Redisson客戶端去連接redis集群然后進(jìn)行數(shù)據(jù)的讀寫(xiě)發(fā)現(xiàn)奄抽,能夠?qū)懭脒M(jìn)去數(shù)據(jù),但是進(jìn)行讀取時(shí)返回null甩鳄,去判斷key是否存在時(shí)返回的也是false逞度。
問(wèn)題發(fā)現(xiàn)
通過(guò)查看每個(gè)redis節(jié)點(diǎn)的日志,以及通過(guò)redis-cli 的info命令查看節(jié)點(diǎn)信息時(shí)發(fā)現(xiàn)問(wèn)題妙啃;下圖中的顯示的connected_slaves 值為1是正確档泽,異常情況顯示的為值為0
上述提示說(shuō)進(jìn)行集群同步時(shí)需要使用認(rèn)證(因?yàn)槊總€(gè)redis節(jié)點(diǎn)都配置了密碼)俊戳,由此可以看出從節(jié)點(diǎn)(slave)連接主節(jié)點(diǎn)(master)時(shí),沒(méi)有找到正確密碼馆匿,導(dǎo)致主從之間數(shù)據(jù)同步機(jī)制建立失敗抑胎。
問(wèn)題解決
在每個(gè)redis的配置文件(redis.conf)中找到了屬性masterauth ,默認(rèn)是注釋狀態(tài),打開(kāi)對(duì)應(yīng)的配置然后配置上我們?cè)O(shè)置的密碼123456 然后重啟redis
問(wèn)題未及時(shí)發(fā)現(xiàn)原因
redis集群?jiǎn)?dòng)后
- 沒(méi)有去查看每一個(gè)redis 節(jié)點(diǎn)信息(info),能夠看到master節(jié)點(diǎn)connected_slaves:1 則正常
- 沒(méi)有去及時(shí)查看redis啟動(dòng)日志
原文鏈接:https://blog.csdn.net/qq_40270466/article/details/141467301