旧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
3. 导出key为AOF文件
BGREWRITEAOF
2、准备redis-cluster:
1.修改配置文件,指定AOF文件路径
dir /etc/redis/
2. 建立redis-cluster
3. 关闭redis-cluster,替换AOF文件
204节点的AOF文件替换200节点
205节点的AOF文件替换202节点
4. 重启redis-cluster
5. 执行修复操做
redis-trib.rb fix192.168.1.200:6379 //指定集群内的任一节点便可
redis-trib.rb check 192.168.1.200:6379 //检查集群状态
6. 迁移结果
注:
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文件