云数据库 GEMINIDB-Pika到GeminiDB Redis的迁移:pika-port迁移工具使用说明

时间:2023-12-07 10:29:39

pika-port迁移工具使用说明

  • 部署迁移工具pika-port
    • 迁移工具下载

      从Github上直接下载编译好的对应pika版本的pika-port开源迁移工具(如pika3.0.x版本就使用3.0.x版本的开源工具),网址为:https://github.com/ipixiu/pika-port-bin

      图2 迁移工具下载
    • 部署位置和目录结构

      以pika_portv1.6.0为例,将解压后的整个文件重命名为pika_port3,拷贝在部署了pika的环境上(或者任一能与pika实例和GeminiDB Redis实例网络互通的服务器上),解压后的pika_port3文件夹目录结构如下:

    • 迁移前准备

      由于sbin目录下的pika-port二进制文件需要引用lib目录下的库文件,迁移之前需在pika_port3路径执行如下命令:

      export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH} //链接库文件

      rm -rf ./rsync_dump/ //删除文件夹

      rm -rf ./sync_log/ //删除sync日志

  • pika单机数据迁移
    • 启动命令

      执行如下命令,启动pika_port迁移工具:

      ./sbin/pika_port -i master_ip -o master_port -m forward_ip -n forward_port -x forward_thread_num -y forward_passwd -f filenum -s offset -w password -r rsync_dump_path -l log_path

      -h -- show this help

      -t -- local host ip(OPTIONAL default: 127.0.0.1),输入本机IP

      -p -- local port(OPTIONAL),默认即可

      -i -- Pika主节点IP

      -o -- Pika主节点port

      -m -- GeminiDB Redis ELB IP

      -n -- GeminiDB Redis port

      -x -- 发送线程数量(OPTIONAL default: 1)

      -y -- GeminiDB Redis密码

      -f -- binlog文件数量,默认即可(OPTIONAL default: local offset)

      -s -- binlog offset,默认即可(OPTIONAL default: local offset)

      -w -- Pika主节点密码

      -r -- rsync dump文件到本地目录,默认即可(OPTIONAL default: ./rsync_dump)

      -l -- 产生的日志文件目录,默认即可(OPTIONAL default: ./log)

      -b -- max batch number when port rsync dump data. 默认即可 (OPTIONAL default: 512)

      -d -- 是否后台运行(OPTIONAL)

      示例:

      ./sbin/pika_port -t 28.80.60.200 -p 12345 -i 28.80.60.200 -o 9221 -m 28.80.60.201 -n 6379 -x 7 -y a -w a

      【注】上例中,28.80.60.200为源端pika IP,28.80.60.201为目标端redis IP。

    • 等待结果

      等待数据迁移,若执行日志中出现如下信息,代表全量数据同步完成,此后数据迁移进入增量同步阶段。

  • pika集群数据迁移

    迁移步骤同pika单机数据迁移步骤,为每个pika实例创建一个工作流即可。

support.huaweicloud.com/redisug-nosql/nosql_pika_migration.html