您可以使用redis-sync-manager将自建Codis集群迁移至云数据库Redis版。
前提条件
- 需要在环境变量$PATH中定义redis-port,因为redis-sync-manager在运行过程中会依赖于redis-port。
- 运行时需要注意Cluster的基本数据及当前并发度可能会占用的内存。
-
说明 本文使用的迁移工具redis-sync-manager仅支持自建Codis集群迁移到云数据库Redis版,不支持自建数据库之间的数据同步。
工具下载
使用说明
使用redis-sync-manager进行Codis集群迁移上云的命令如下:
./redis-sync-manager --fromlist=addr_list --target=dst_host:dst_port [--password=src_password] [--auth=dst_password] [--rewrite] [--bigkeysize=SIZE] [--sync-parallel=INT]
工作原理
redis-sync-manager根据addr_list
提供的待同步分片IP:PORT
列表。调用redis-port进行数据同步(全量数据同步的并发度依赖--sync-parallel
配置,所有分片的增量数据均会保持同步)。相关参数请参见下表。
参数 | 说明 |
---|---|
addr_list | 自建Codis集群所有分片列表,格式为ip1:port1,ip2:port2,ip3:port3 。 |
src_password | 自建Codis的密码 |
dst_host | 云数据库Redis版连接地址 |
dst_port | 云数据库Redis版端口 |
dst_password | 云数据库Redis版密码 |
rewrite | 覆盖已经写入的Key。 |
bigkeysize=SIZE | 当写入value的大于SIZE 时,采用大key写入模式。 |
--logfile=REDISPORT.LOG | 传递日志文件名称,对于不同的分片,程序会自动添加地址后缀。默认为logs/redis-sync-manager.log 。 |
--pidfile=REDISPORT.PID | 传递pid文件名称,对于不同的分片,程序会自动添加地址后缀。默认为logs/redis-sync-manager.pid 。 |
--httpport=HTTPPORT | 传递监听端口的初始值,按照程序内调度redis-port的启动顺序,端口号依次加1。默认初始值为16000 。 |
--sync-parallel=INT | 用于支持数据同步的并发度,展示可能占据的内存。默认为1 。 |