繼上一篇redis3.0.x集羣搭建完成以後,固然要用客戶端JedisCluster簡單測試一下集羣啦,這樣就要將redis.conf裏bind 127.0.0.1改爲bind +真機ip(個人192.168.161.131),下面簡單地將測試中遇到的問題及解決辦法記錄在本篇。node
遇到的問題及解決辦法redis
在redis.conf裏bind 真機ip後,接着從新執行每一個redis.conf,最後再建立集羣,但報錯,以下圖所示:數據庫
圖中報的錯即:服務器
[ERR] Node 192.168.161.131:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.app
這就奇怪了,因而我又去檢查了一下redis.conf,ip我確實改過來了測試
想了一會發現這三個文件appendonly.aof dump.rdb nodes.conf是以前執行ip127.0.0.1時生成的,在我改成真機ip後在執行並無生效。ip
這裏解釋一下 dump.rdb 文件:內存
dump.rdb是由Redis服務器自動生成的 默認狀況下 每隔一段時間redis服務器程序會自動對數據庫作一次遍歷,把內存快照寫在一個叫作「dump.rdb」的文件裏,這個持久化機制叫作SNAPSHOT。有了SNAPSHOT後,若是服務器宕機,從新啓動redis服務器程序時redis會自動加載dump.rdb,將數據庫狀態恢復到上一次作SNAPSHOT時的狀態。it
知道緣由後就好辦了, 解決辦法:集羣
1)將每一個節點下aof、rdb、nodes.conf本地備份文件刪除;
2)172.168.63.201:7001> flushdb #清空當前數據庫(可省略)
3)以後再執行腳本,成功執行;