遷移數據到redis-cluster

舊redis:   redis

192.168.1.204    192.168.1.205    分別存放着不一樣的key服務器

 

redis-cluster:app

Master:192.168.1.200  192.168.1.202   192.168.1.203ide

Slave:  192.168.1.206   192.168.1.207   192.168.1.208spa

 

模擬redis離線遷移,即須要先斷開全部客戶端請求3d

 

 

1、準備舊redis:orm

1.修改配置文件,指定AOF文件路徑blog

dir /etc/redis/                                  //修改redis的工做目錄文檔

 

appendfilename "appendonly.aof"               //會在工做目錄中生成aof文件get

 

 

2.    準備key

wKioL1hy8NyzE7s2AAF3isVxaH8993.png

 

wKiom1hy8PaRLumcAAFqUdRvnMc162.png

 

3.    導出key爲AOF文件

BGREWRITEAOF

 

wKiom1hy8iHjUO5NAACUvdITNp4013.png

 

 

2、準備redis-cluster:

1.修改配置文件,指定AOF文件路徑

dir /etc/redis/

 

 

2.    建立redis-cluster

wKioL1hy8R-xzCIkAAGQIrH0yk0467.png

 

 

3.    關閉redis-cluster,替換AOF文件

204節點的AOF文件替換200節點

205節點的AOF文件替換202節點

 

 

4.    重啓redis-cluster

wKioL1hy8T3x3dcuAAJefw96M6g574.png

 

 

5.    執行修復操做

redis-trib.rb fix192.168.1.200:6379      //指定集羣內的任一節點便可

 

wKioL1hy8XDCK6YPAAPbNKXo9Uc385.png

 

 

redis-trib.rb check 192.168.1.200:6379     //檢查集羣狀態

 

 

wKioL1hy8Y2S3o_0AAS81ZJGlQw765.png

 

 

wKiom1hy8aaxPO6cAAGQu4Jby9g131.png

 

 

6.    遷移結果

wKiom1hy8dGz6LJLAAIOlP4oxNg870.png

 

注:

1.    使用此方法,新的redis-cluster中的master節點要大於等於舊redis-master節點的數量

2.    官方文檔中,建議在新建redis-cluster的時候先不要建立slave節點,導入數據後再建立slave節點。能夠使用redis-trib.rbcreate --replicas 0 192.168.1.200:6379 192.168.1.202:6379192.168.1.203:6379  來建立只有3個master節點的redis-cluster

 

 

遷移方法二:

redis-trib.rb import --from 192.168.1.204:6379192.168.1.200:6379

 

redis-trib.rb import --from 192.168.1.205:6379192.168.1.200:6379

//直接使用腳本,分別從兩臺舊redis服務器導入key到集羣中,同時會清除舊redis服務器的全部key

 

注:

1.使用--copy  選項能夠保存舊redis上的key

 

2.使用--replace  選項能夠替換集羣中相同名稱的key,若是不使用,此類key不會被導入

 

3.若是舊redis的版本是2.8的,導入速度會很慢,能夠先把該redis升級爲3.0以上再執行命令導入

 

4.遷移數據前記得先導出並備份AOF文件

相關文章
相關標籤/搜索