博客
关于我
redis-migrate-tool使用详解
阅读量:703 次
发布时间:2019-03-21

本文共 2400 字,大约阅读时间需要 8 分钟。

Redis 数据迁移工具 (Redis-Migrate-Tool) 指南

工具概述

Redis-Migrate-Tool 是维品会开源的一款 Redis 数据迁移工具,基于 Redis 复制,支持快速、高效、稳定的大规模数据迁移。该工具兼容多种 Redis 集群模式,包括 Redis Cluster、Twemproxy 集群、RDB 文件及 AOF 文件,并提供关键功能如实时迁移、数据校验、过滤 等。


安装 Redis-Migrate-Tool

依赖安装

工具需依赖一些系统级和开发工具包。运行以下命令安装:

$ yum -y install automake libtool autoconf bzip2 git

安装步骤

进入工具目录,进行编译:

$ cd redis-migrate-tool$ autoreconf -fvi$ ./configure$ make$ src/redis-migrate-tool -h

注意事项

  • 内存要求:迁移过程中需确保源 Redis服务器足够内存支持生成 RDB 文件。若需大规模迁移,可在 rmt.conf 配置中设置 source_safe: false
  • 禁止命令:迁移工具不支持以下 Redis命令传播至目标集群,避免数据交叉:
    RENAME,RENAMENX,RPOPLPUSH,BRPOPLPUSH,FLUSHALL,FLUSHDB,BITOP,MOVE,GEORADIUS,GEORADIUSBYMEMBER,EVAL,EVALSHA,SCRIPT,PFMERGE

工具命令说明

常用命令

  • 迁移数据
    $ src/redis-migrate-tool -c rmt.conf -o log -d

    后台运行时需注意终止当前进程:

    $ netstat -tnulp | grep 8888$ kill -9 [端口号]
  • 数据校验
    $ src/redis-migrate-tool -c rmt.conf -o log -C redis_check

    可调整样本数量:

    $ src/redis-migrate-tool -c rmt.conf -o log -C "redis_check 200000"
  • 数据插入测试
    $ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert"

    自定义插入数量及类型:

    $ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert 30000"

    或指定特定键类型:

    $ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert string|set|list 10000"

工具选项说明

  • 信息显示:支持 redis-cli 连接工具,默认监听地址为 127.0.0.1:8888。
  • 启用后台运行:使用 -d 选项,需手动终止进程。
  • 日志配置:指定 -o log 导出日志文件,默认写入标准端口。

配置文件说明

配置文件结构

配置文件分为三个主要部分:

  • [source]:源集群配置,可选类型包括 singletwemproxyredis_clusterrdb fileaof file
  • [target]:目标集群配置,与源集群类型一致。
  • [common]:通用配置,包括监听地址、最大连接数、线程数、请求步数等。
  • 配置示例

    单个 Redis 到 Twemproxy 集群迁移

    [source]type: singleservers: - 127.0.0.1:6379[/source][target]type: twemproxyhash: fnv1a_64hash_tag: "{}"distribution: ketamaservers: - 127.0.0.1:6380:1 server1 - 127.0.0.1:6381:1 server2 - 127.0.0.1:6382:1 server3 - 127.0.0.1:6383:1 server4[/target][common]listen: 0.0.0.0:8888threads: 2step: 1mbuf_size: 1024source_safe: true

    RDB 文件到 Redis 集群迁移

    [source]type: rdb fileservers: - /data/redis/dump1.rdb - /data/redis/dump2.rdb[/source][target]type: redis clusterservers: - 127.0.0.1:7379[/target][common]listen: 0.0.0.0:8888step: 2mbuf_size: 512source_safe: false

    工具监听与管理

    命令操作

    • 状态查询

      $ redis-cli -h 127.0.0.1 -p 8888 info

      输出包括服务器版本、操作系统信息、进程 ID、连接状态等详细指标。

    • 退出命令

      $ redis-cli -h 127.0.0.1 -p 8888 shutdown 5

      参数说明:

      • seconds:等待时间,用于在退出前完成缓存数据迁移。
      • asap:立即退出,无需等待。

    总结

    • 兼容性:工具支持 Redis 4.0.x 及以上版本。
    • 多源迁移:单一或多个源集群无需影响对外服务。
    • 键值覆盖:建议避免多个 Redis 数据库使用相同的键前缀,以免覆盖数据。

    Redis-Migrate-Tool 提供了灵活的配置选项和强大的迁移功能,适用于各种 Redis 集群场景及大规模数据迁移任务。

    转载地址:http://ibzrz.baihongyu.com/

    你可能感兴趣的文章
    mysql 转义字符用法_MySql 转义字符的使用说明
    查看>>
    mysql 输入密码秒退
    查看>>
    mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
    查看>>
    mysql 通过查看mysql 配置参数、状态来优化你的mysql
    查看>>
    mysql 里对root及普通用户赋权及更改密码的一些命令
    查看>>
    Mysql 重置自增列的开始序号
    查看>>
    mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
    查看>>
    MySQL 错误
    查看>>
    mysql 随机数 rand使用
    查看>>
    MySQL 面试题汇总
    查看>>
    MySQL 面试,必须掌握的 8 大核心点
    查看>>
    MySQL 高可用性之keepalived+mysql双主
    查看>>
    MySQL 高性能优化规范建议
    查看>>
    mysql 默认事务隔离级别下锁分析
    查看>>
    Mysql--逻辑架构
    查看>>
    MySql-2019-4-21-复习
    查看>>
    mysql-5.6.17-win32免安装版配置
    查看>>
    mysql-5.7.18安装
    查看>>
    MySQL-Buffer的应用
    查看>>
    mysql-cluster 安装篇(1)---简介
    查看>>