首页 > 其他 > 详细

迁移数据到redis-cluster

时间:2017-01-09 16:59:35      阅读:212      评论:0      收藏:0      [点我收藏+]

旧redis:  

192.168.1.204    192.168.1.205    分别存放着不同的key

 

redis-cluster:

Master:192.168.1.200  192.168.1.202   192.168.1.203

Slave:  192.168.1.206   192.168.1.207   192.168.1.208

 

模拟redis离线迁移,即需要先断开所有客户端请求

 

 

一、准备旧redis:

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

dir /etc/redis/                                  //修改redis的工作目录

 

appendfilename "appendonly.aof"               //会在工作目录中生成aof文件

 

 

2.    准备key

技术分享

 

技术分享

 

3.    导出key为AOF文件

BGREWRITEAOF

 

技术分享

 

 

二、准备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文件


迁移数据到redis-cluster

原文:http://362475097.blog.51cto.com/1808795/1890301

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!