博客
关于我
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/

    你可能感兴趣的文章
    Redis从入门到精通
    查看>>
    PHP5.6.x编译报错:Don't know how to define struct flock on this system, set --enable-opcache=no
    查看>>
    php5ts.dll 下载_php5ts.dll下载
    查看>>
    php7
    查看>>
    PHP7 新特性
    查看>>
    PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
    查看>>
    php7.1.6 + redis
    查看>>
    php7中使用php_memcache扩展
    查看>>
    PHP7中十个需要避免的坑
    查看>>
    php7和PHP5对比的新特性和性能优化
    查看>>
    PHP7安装pdo_mysql扩展
    查看>>
    PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
    查看>>
    php7,从phpExcel升级到PhpSpreadsheet
    查看>>
    PHP8.1 + ThinkPHP实战指南:高效构建现代化网站的六大技巧
    查看>>
    PHP8中match新语句的操作方法
    查看>>
    PHP:第一章——PHP中常量和预定义常量
    查看>>
    PHP:第一章——PHP中的位运算
    查看>>
    phpcms
    查看>>
    phpcms 2008 product.php pagesize参数代码注射漏洞
    查看>>
    phpcms V9 自定义添加 全局变量{DIY_PATH}方法
    查看>>