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

    你可能感兴趣的文章
    PostgreSQL 同步流复制锁瓶颈分析
    查看>>
    PostgreSQL 备份与还原命令 pg_dump
    查看>>
    Postgresql 外部表插件postgres_fdw的安装和使用
    查看>>
    PostgreSQL 如何从崩溃状态恢复(上)
    查看>>
    PostgreSQL 存储过程基本语法
    查看>>
    PostgreSQL 导入 .gz 备份文件
    查看>>
    PostgreSQL 批量插入&更新数据时报错(ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time)
    查看>>
    PostgreSQL 新增数据返回自增ID
    查看>>
    postgresql 更新多列数据
    查看>>
    PostgreSQL 服务启动后停止
    查看>>
    PostgreSQL 辟谣存在任意代码执行漏洞:消息不实
    查看>>
    PostgreSQL+PostGIS实现两坐标点之间最短路径查询算法函数(地图工具篇.12)
    查看>>
    PostgreSQL-解决连接时遇到的乱码问题
    查看>>
    PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001
    查看>>
    PostgreSQL9.1 双机部署配置(主备数据同步)
    查看>>
    Postgresql中PL/pgSQL代码块的语法与使用-声明与赋值、IF语句、CASE语句、循环语句
    查看>>
    Postgresql中的表结构和数据同步/数据传输到Mysql
    查看>>
    Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
    查看>>
    postgreSQL入门命令
    查看>>
    PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
    查看>>