クロスクラスタデータ移行ツール
StarRocks クロスクラスタデータ移行ツールは、StarRocks コミュニティによって提供されています。このツールを使用すると、ソースクラスタからターゲットクラスタへのデータ移行を簡単に行うことができます。
- StarRocks クロスクラスタデータ移行ツールは、共有なしクラスタから別の共有なしクラスタまたは共有データクラスタへのデータ移行のみをサポートします。
- ターゲットクラスタの StarRocks バージョンは v3.1.8、v3.2.3 以降である必要があります。
準備
データ移行のために、ターゲットクラスタで以下の準備を行う必要があります。
ポートを開く
ファイアウォールを有効にしている場合、これらのポートを開く必要があります。
| コンポーネント | ポート | デフォルト |
|---|---|---|
| FE | query_port | 9030 |
| FE | http_port | 8030 |
| FE | rpc_port | 9020 |
| BE | be_http_port | 8040 |
| BE | be_port | 9060 |
レプリケーションのレガシー互換性を有効にする
StarRocks は、古いバージョンと新しいバージョンで動作が異なる場合があり、クロスクラスタデータ移行中に問題を引き起こす可能性があります。そのため、データ移行の前にターゲットクラスタでレガシー互換性を有効にし、データ移行が完了した後に無効にする必要があります。
-
レプリケーションのレガシー互換性が有効かどうかを確認するには、次のステートメントを使用します。
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");
カラムフィルタリングを無効にする
Scan ステージでの未使用カラムフィルタリングの最適化は、移行されたデータに対するクエリ中にクラッシュを引き起こす可能性があります。データ移行の前にこの最適化を無効にする必要があります。
SET GLOBAL enable_filter_unused_columns_in_scan_stage=false;
enable_filter_unused_columns_in_scan_stage
- 説明: Scan ステージで未使用カラムをフィルタリングするかどうか。
- デフォルト: true
- 導入バージョン: v3.1