跨集群数据迁移工具
StarRocks 跨集群数据迁移工具是社区提供的 StarRocks 数据迁移工具。您可以使用该工具将数据从源集群一键式迁移到目标集群。
- StarRocks 跨集群数据迁移工具仅支持从存算一体集群迁移数据到存算一体集群或者存算分离集群。
- 数据迁移的目标集群必须为 v3.1.8 或 v3.2.3 及以上版本。
准备工作
以下准备工作需要在数据迁移的目标集群中进行。
开启迁移旧版本兼容
新旧版本的集群间可能存在行为差异,从而导致跨集群数据迁移时出现问题。因此在数据迁移前,您需要为目标集群开启旧版本兼容,并在数据迁移完成后关闭。
-
您可以通过以下语句查看当前集 群是否开启旧版本兼容:
ADMIN SHOW FRONTEND CONFIG LIKE 'enable_legacy_compatibility_for_replication';
如果返回值为
true
则表示已经开启旧版本兼容。 -
动态开启旧版本兼容:
ADMIN SET FRONTEND CONFIG("enable_legacy_compatibility_for_replication"="true");
-
为防止数据迁移过程中集群重启后旧版本兼容自动关闭,您还需要在 FE 配置文件 fe.conf 中添加以下配置项:
enable_legacy_compatibility_for_replication = true
数据迁移完成后,您需要删除配置文件中的 enable_legacy_compatibility_for_replication = true
,并通过以下语句动态关闭旧版本兼容:
ADMIN SET FRONTEND CONFIG("enable_legacy_compatibility_for_replication"="false");
关闭 Compaction
如果数据迁移的目标集群为存算分离集群,在数据迁移之前,您需要手动关闭 Compaction,并在数据迁移完成后重新开启。
-
您可以通过以下语句查看当前集群是否开启 Compaction:
ADMIN SHOW FRONTEND CONFIG LIKE 'lake_compaction_max_tasks';
如果返回值为
0
则表示 Compaction 关闭。 -
动态关闭 Compaction:
ADMIN SET FRONTEND CONFIG("lake_compaction_max_tasks"="0");
-
为防止数据迁移过程中集群重启后 Compaction 自动开启,您还需要在 FE 配置文件 fe.conf 中添加以下配置项:
lake_compaction_max_tasks = 0
数据迁移完成后,您需要删除配置文件中的 lake_compaction_max_tasks = 0
,并通过以下语句动态开启 Compaction:
ADMIN SET FRONTEND CONFIG("lake_compaction_max_tasks"="-1");
配置数据迁移(可选)
您可以通过以下 FE 和 BE 参数配置数据迁移操作。通常情况下,默认配置即可满足需求。如果您想保留默认配置,可以选择跳过该步骤。
请注意,增大以下配置项可以加速迁移,但同样会增加源集群负载压力。
FE 参数
以下 FE 参数为动态参数。修改方式请参考 配置 FE 动态参数。
参数名 | 默认值 | 单位 | 描述 |
---|---|---|---|
replication_max_parallel_table_count | 100 | - | 允许并发执行的数据同步任务数。StarRocks 为一张表创建一个同步任务。 |
replication_max_parallel_replica_count | 10240 | - | 允许并发同步的 tablet 副本数。 |
replication_max_parallel_data_size_mb | 1048576 | MB | 允许并发同步的数据量。 |
replication_transaction_timeout_sec | 3600 | 秒 | 同步任务的超时时间。 |
BE 参数
以下 BE 参数为动态参数。修改方式请参考 配置 BE 动态参数。
参数名 | 默认值 | 单位 | 描述 |
---|---|---|---|
replication_threads | 0 | - | 执行同步任务的线程数。0 表示设置线程数为 BE 所在机器的 CPU 核数的 4 倍。 |
第一步:安装工具
推荐您在数据迁移目标集群所在的服务器上安装迁移工具。
-
打开终端,下载工具安装包。
wget https://releases.starrocks.io/starrocks/starrocks-cluster-sync.tar.gz
-
解压安装包。
tar -xvzf starrocks-cluster-sync.tar.gz