Redis集群之修改節點IP


因為一些原因,以前IP沒法用了,所有節點都down掉了,所以項目忽然報錯:

 

 

 

 

 

 服務器現在修改Redis節點的IP地址

注意,雖然是修改,但實質上是重建集群,所以需要你刪除之前每個節點的一些文件,才能用新的IP重建集群:

在刪除之前,要先暫停所有節點:

查看Redis進程:

ps -ef|grep redis

 

 

 然后殺死進程:

kill -9 xxx

 

 

 好了,可以開始刪除相關文件了:

需要刪除的文件 : Redis每個節點相應的 持久化文件和節點信息文件:

進入每一個節點,有dump.rdb持久化文件和nodes.conf節點信息文件,刪除。

     你要是忘了自己文件在哪里了,可以用下面指令查看一下目錄:

find / -name 文件名

 

我這里都放在一起了:

 

 

 

在對應文件目錄下刪除相關文件:

rm -f nodes-*.conf
rm -f dump-*.rdb

刪除后只留下如下文件:

 

 

 PS:(如果你的Redis.conf文件里開啟並生成了appendonly.aof,你也必須刪除它,因為不刪除aof文件會和不刪除rdb文件一樣導致在接下來重新創建節點過程中出現原節點存在數據(Not Empty)異常)

接着:

在重建集群之前需要你依次將每個節點重新啟動起來,否則會直接報錯 [ERR] Sorry, can't connect to node

 

 

 

 

重新創建集群(用新的ip)執行redis-trib.rb腳本:

(*注意:"192.168.127.130"是本地局域網IP,如果是生產環境下或者非本地測試,請直接使用服務器外網IP地址

 

./redis-trib.rb create --replicas 1 192.168.127.130:8000 192.168.127.130:8001 192.168.127.130:8002 192.168.127.130:8003 192.168.127.130:8004 192.168.127.130:8005 

我執行到這里就已經成功了,但是由於IP原因,我這里引用別人一的張圖(別人圖片還有說明,比我認真多了):

 

 

 輸入yes,創建成功.

 

后記:

    1、通過以上步驟,重新配置Redis集群IP就成功了。

            2、總結可能出現的步驟問題,導致客戶端不能正常訪問Redis:

                           1、redis.conf限制了IP地址訪問

                           2、沒有開啟Redis集群總線端口==>"Redis端口+10000"

                           3、使用rudy命令開啟集群,在非本地環境下,沒有使用外網IP

                               ruby redis-trib.rb create --replicas 1 外網IP:7000 外網IP:7001 外網IP:7002 外網IP:7003 外網IP:7004 外網IP:7005 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM