-
Notifications
You must be signed in to change notification settings - Fork 1.2k
pika到pika、redis迁移工具
Zhao Minghuan edited this page Apr 26, 2020
·
4 revisions
pika_port
3.1 和 2.x
https://github.com/ipixiu/pika-tools
https://github.com/Axlgrep/pika-tools 长期维护地址需自行编译
https://github.com/ipixiu/pika-port-bin
将Pika中的数据在线迁移到Pika、Redis(支持全量、增量同步)
之前Pika项目官方提供的pika_to_redis工具仅支持离线将Pika的DB中的数据迁移到Pika、Redis, 且无法增量同步,该工具可以直接伪装为一个Pika的从库,将主库数据通过同步获取并转发给Pika、Redis,同时并支持增量同步
- 尝试与主库建立同步关系
- 如果需要全同步,则在接收到master的db之后,启动migrator和sender线程将db里面的数据发送给Pika、Redis
- 启动Slaveping线程定期给主库发送心跳,完成建立主从关系
- 接收主库发送过来的binlog并且将其解析成redis命令
- 将redis命令转发给Pika、Redis
- 扫描不同数据类型的分库
- 将key进行解析成响应数据Pika、redis指令
- 将解析好的redis指令加载到sender的发送buf中
- 从发送buf中读取数据,以非阻塞方式向Pika、redis发送数据
- 接收Pika、redis返回的结果并解析,如果出现错误则显示错误结果
Usage:
pika_port [-h] [-t local_ip -p local_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)
-p -- local port(OPTIONAL)
-i -- master ip(OPTIONAL default: 127.0.0.1)
-o -- master port(REQUIRED)
-m -- forward ip(OPTIONAL default: 127.0.0.1)
-n -- forward port(REQUIRED)
-x -- forward thread num(OPTIONAL default: 1)
-y -- forward password(OPTIONAL)
-f -- binlog filenum(OPTIONAL default: local offset)
-s -- binlog offset(OPTIONAL default: local offset)
-w -- password for master(OPTIONAL)
-r -- rsync dump data path(OPTIONAL default: ./rsync_dump)
-l -- local log path(OPTIONAL default: ./log)
-b -- max batch number when port rsync dump data (OPTIONAL default: 512)
-d -- daemonize(OPTIONAL)
example: ./pika_port -t 127.0.0.1 -p 12345 -i 127.0.0.1 -o 9221 -m 127.0.0.1 -n 6379 -x 7 -f 0 -s 0 -w abc -l ./log -r ./rsync_dump -b 512 -d
- 安装使用
- 支持的语言和客户端
- 当前支持的Redis接口以及兼容情况
- 配置文件说明
- 数据目录说明
- info信息说明
- 部分管理指令说明
- 差异化命令
- Pika Sharding Tutorials
- Pika订阅
- 配合sentinel(哨兵)实现pika自动容灾
- 如何升级到Pika3.0
- 如何升级到Pika3.1或3.2
- Pika多库版命令、参数变化参考
- Pika分片版本命令
- 副本一致性使用说明
- Pika内存使用
- Pika最佳实践
- 整体架构
- 线程模型
- 全同步
- 增量同步
- 副本一致性
- 快照式备份
- 锁的应用
- nemo存储引擎数据格式
- blackwidow存储引擎数据格式
- Pika源码学习--pika的通信和线程模型
- Pika源码学习--pika的PubSub机制
- Pika源码学习--pika的命令执行框架
- Pika源码学习--pika和rocksdb的对接
- pika-NoSQL原理概述
- pika在codis中的探索
- Pika 笔记
- pika 主从同步原理