1. 程式人生 > >redis 集群在線遷移

redis 集群在線遷移

以及 mas har all cluster ace master 完整性 主從

遷移方案步驟

部署新節點redis 實例。(註意部署以後是單實例,不用創建成集群)
例如:
舊環境:
192.168.3.5:7000 M
192.168.3.5:7001 M
192.168.3.5:7002 M
192.168.3.5:7003 S
192.168.3.5:7004 S
192.168.3.5:7005 S

新環境:
192.168.3.6:7000 M
192.168.3.6:7001 M
192.168.3.6:7002 M
192.168.3.6:7003 S
192.168.3.6:7004 S
192.168.3.6:7005 S

將新節點redis 添加到老集群中。(添加master 節點)
redis-trib.rb add-node 192.168.3.6:7000 192.168.3.5:7000

redis-trib.rb add-node 192.168.3.6:7001 192.168.3.5:7000
redis-trib.rb add-node 192.168.3.6:7002 192.168.3.5:7000
將新節點redis 添加到老集群中。(添加slave 節點)
redis-trib.rb add-node --slave 192.168.3.6:7003 192.168.3.6:7000
redis-trib.rb add-node --slave 192.168.3.6:7004 192.168.3.6:7001
redis-trib.rb add-node --slave 192.168.3.6:7005 192.168.3.6:7002

檢查集群主從節點信息
redis-cli -p 7000 -a ‘password‘ cluster nodes
檢查集群狀態()是否為ok
redis-cli -p 7000 -a ‘password‘ cluster nodes
查看redis 集群master 節點
redis-cli -p 7000 -a ‘password‘ cluster nodes | grep master
查看集群信息
./redis-trib.rb info 192.168.3.5:7000
集群進行遷移
./redis-trib.rb reshard 192.168.3.5:7000
備註:將所有slot遷移至一個新的集群master 節點。
輸入:all
輸入slot: 16384

遷移至node_id: 614272e21df1cbbcda117f277ff7baa075b3d15e (遷移的新節點id)
將槽位均勻分片給新的剩余master 節點
./redis-trib.rb reshard 192.168.3.5:7000
./redis-trib.rb reshard 192.168.3.5:7001
./redis-trib.rb reshard 192.168.3.5:7002
檢查節點遷移是否正常
/redis-trib.rb echek 192.168.3.5:7000

刪除老節點信息(先刪除從節點,然後再刪除主節點)
刪除從節點
/redis-trib.rb del-node 192.168.3.5:7000 3c0bb15b23407f7eb6f8c5a6a2a4c9ffb7065098
/redis-trib.rb del-node 192.168.3.5:7001 32afb3fec4ecad4bd33573a45754616324a9311b
/redis-trib.rb del-node 192.168.3.5:7002 5f2018a5a56f3e4cfc76df566e721ca7ace8bd83
刪除主節點(同上)
註意:del-node 後 老環境redis 進程shutdown,集群失效!!!

檢查集群可用性,以及數據完整性
/redis-trib.rb check 192.168.3.5:7000
/redis-trib.rb info 192.168.3.5:7000
redis-cli -p 7000 -a ‘password‘ cluster nodes
redis-cli -p 7000 -a ‘password‘ cluster info

親測好用!!!!!

redis 集群在線遷移