迁移方案步骤 部署新节点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 亲测好用!!!!! (责任编辑:IT) |