400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
MatrixGate 从 4.3 开始支持迁移模式,可以将 Greenplum5、Greenplum6 和 YMatrix 集群的表数据高速迁移到当前 YMatrix 集群。
高速迁移使数据绕过 Master 节点,直接从源集群 Segment 上读取,经过 mxgate 转发,发送到目标集群 Segment 上,不存在 Master 单节点瓶颈。
源集群与目标集群 Segment 数量可以不一致。
单表迁移用来迁移全表数据,用法如下:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-password abc \
--src-schema public \
--src-table trans_ao \
--compress "gzip" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--db-database ttt \
--target public.trans_ao \
--format text \
--time-format raw \
--use-auto-increment=false
其中:
参数名 | 描述 |
---|---|
--source | 功能入口,必须指定'transfer' |
--src-host | 源库master的ip地址 |
--src-port | 源库master的端口号 |
--src-user | 连接源库的用户名(建议使用superuser) |
--src-password | 连接密码 |
--src-schema | 源表的schema名 |
--src-table | 源表的表名 |
--compress | 源数据库segment主机到本数据的传输方法: 空白字符串“”,代表不压缩,明文传输 gzip:使用gzip压缩,需要源数据库的segment主机上必须安装有gzip这个linux命令 lz4:使用lz4压缩,需要源数据库的segment主机上必须安装有lz4这个linux命令 推荐 lz4 > gzip > 不压缩 |
--port-base | 传输中会占用一批端口,端口的范围为9129~ |
--local-ip | 必须用源库可以连接到本机的IP地址 |
--db-database | 迁移目标表所在的database名 |
--target | 迁移目标表名,可以是 \<schema>.\<table>形式,如果不写schema名默认是public |
--format | text或csv,仅当迁移的数据里有复杂的字符串(包含换行、引号、分隔符)时,必须CSV。其他情况下text/csv均可时,优先用text模式 |
--time-format | transfer模式下必须是raw |
--use-auto-increment | 当目标表包括serial类型的自增字段时,mxgate内默认会跳过该类型的字段,加入这个option来关闭mxgate跳过的逻辑 |
迁移模式的另一个用法是将数据快速导出到文件:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-schema public \
--src-table trans_ao_1 \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
使用--save-to-dir
参数来指定文件存储路径。
注意,即使导出到文件,也需要给出--db-database和--target参数来指定目标库和表,并且目标库和表必须存在
过滤迁移可以通过--src-sql
参数指定SQL来过滤需要同步的数据,在表到表迁移和表到文件迁移中都可以使用:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-sql "select * from demo where c1 = 'xxxx'" \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
有关迁移工具的详细参数请参考 mxgate。