迁移数据到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文件

相关文章
相关标签/搜索