ApsaraDB for ClickHouse Community-compatible Editionクラスターのデータを、同じエディションの別のApsaraDB for ClickHouseクラスターに移行する場合は、ApsaraDB for ClickHouseコンソールのクラスター移行機能を使用してデータを移行できます。 この機能は、完全なデータ移行と増分データ移行をサポートし、データの整合性を確保します。
前提条件
ソースクラスターと宛先クラスターの両方が次の要件を満たす必要があります。
クラスターはApsaraDB for ClickHouse Community-compatible Editionクラスターです。
クラスターは [実行中] 状態です。
データベースアカウントのユーザー名とパスワードは、クラスターに対して作成されます。
移行元クラスターのホットデータとコールドデータの階層ストレージを有効にする場合は、移行先クラスターのホットデータとコールドデータの階層ストレージも有効にする必要があります。 移行元クラスターのホットデータとコールドデータの階層ストレージを無効にする場合は、移行先クラスターのホットデータとコールドデータの階層ストレージも無効にする必要があります。
クラスターは同じリージョンにデプロイされ、同じ仮想プライベートクラウド (VPC) を使用します。 送信元クラスターのIPアドレスが送信先クラスターのホワイトリストに追加されます。 送信先クラスターのIPアドレスも送信元クラスターのホワイトリストに追加されます。 それ以外の場合は、まずネットワークの問題を解決します。 詳細については、「」をご参照ください。宛先クラスターとデータソースの間に接続が確立されない場合はどうすればよいですか。 FAQトピックのセクション。
説明SELECT * FROM system.clusters;
ステートメントを実行して、ApsaraDB for ClickHouseクラスターのIPアドレスを照会できます。 ホワイトリストの設定方法の詳細については、「ホワイトリストの設定」をご参照ください。
移行先クラスターは、次の追加要件を満たす必要があります。
移行先クラスターのバージョンは、移行元クラスターのバージョン以降または同じです。
移行先クラスターの使用可能なストレージスペースは、移行元クラスターの占有ストレージスペースの1.2倍以上になります。
ソースクラスター内の各ローカルテーブルは、一意の分散テーブルに対応します。
使用上の注意
移行中、移行先クラスターはデータパーツのマージを停止します。 移行中、ソースクラスターはデータパーツのマージを停止しません。
移行コンテンツ:
クラスター、データベース、テーブル、データ辞書、マテリアライズドビュー、ユーザー権限、およびクラスター設定のオブジェクトをソースクラスターから移行できます。
KafkaまたはRabbitMQテーブルは移行できません。
重要KafkaとRabbitMQのデータが確実にシャードされないようにするには、ソースクラスターのKafkaテーブルとRabbitMQテーブルを削除してから、対応するテーブルをターゲットクラスターに作成するか、異なるコンシューマーグループを使用する必要があります。
外部テーブルやログテーブルなど、MergeTree以外のテーブルのスキーマのみを移行できます。
説明移行元クラスターに非MergeTreeテーブルが含まれている場合、移行先クラスターの非MergeTreeテーブルにはテーブルスキーマのみがあり、移行後の特定のビジネスデータはありません。
リモート
機能を使用して、特定のビジネスデータを移行できます。 詳細については、「セルフマネージドClickHouseクラスターからApsaraDB For ClickHouseクラスターへのデータの移行」の「リモート機能を使用したデータの移行」セクションをご参照ください。
クラスターへのデータ移行の影響
データ移行中に、ソースクラスターのテーブルからデータを読み取り、テーブルにデータを書き込むことができます。 ただし、データベースおよびテーブル内のメタデータの追加、削除、変更などのDDL操作をソースクラスターで実行することはできません。
移行タスクを確実に成功させるために、移行の進行状況が99% に達し、データ書き込み中断の事前定義された時間枠内に時間が入ると、ソースクラスターはデータ書き込み操作を自動的に中断します。
すべてのデータが移行されるか、データ書き込み停止のための事前定義された時間ウィンドウが終了すると、ソースクラスターは自動的にデータ書き込みを再開します。
手順
手順1: 移行タスクの作成
ApsaraDB for ClickHouse コンソールにログインします。
[クラスター] ページで、[コミュニティ互換版のクラスター] タブをクリックし、管理するクラスターのIDをクリックします。
左側のナビゲーションウィンドウで、[インスタンスの移行] をクリックします。
表示されるページで、[移行タスクの作成] をクリックします。
ソースクラスターと宛先クラスターを設定します。
[ソースインスタンス情報] セクションと [宛先インスタンス情報] セクションでパラメーターを設定し、[接続のテストと続行] をクリックします。
説明接続テストが成功したら、移行コンテンツステップに進みます。 接続テストが失敗した場合は、プロンプトに従ってソースクラスターと宛先クラスターを再設定します。
移行コンテンツを確認します。
表示されるページで、データ移行コンテンツに関する情報を読み、[次へ: 事前検出と同期の開始] をクリックします。
システムは移行設定の事前チェックを実行し、事前チェックのパス後にバックエンドで移行タスクを開始します。
システムは、インスタンスステータスの検出、ストレージスペースの検出、およびローカルテーブルと分散テーブルの検出という事前チェックを、ソースクラスタと宛先クラスタに対して実行します。
プリチェックが合格した場合は、次の操作を実行します。
クラスターに対するデータ移行の影響に関する情報をご覧ください。
[データ書き込みの停止時間] パラメーターを設定します。
説明データ移行の成功率を確保するために、30分以上の値を指定することを推奨します。
移行タスクは、タスクの作成および開始後5日以内に終了する必要があります。 したがって、[データ書き込みの停止時間] の終了日は、以下
[現在の日付 + 5日]
である必要があります。データ移行がビジネスに与える影響を減らすために、オフピーク時に時間範囲を設定することを推奨します。
[完了] をクリックします。
説明[完了] をクリックすると、タスクが作成され、開始されます。
事前チェックが失敗した場合は、画面上の指示に従って問題を解決し、移行タスクのパラメーターを再設定する必要があります。 次の表に、事前チェック項目を示します。
項目
説明
クラスタステータス検出
データを移行する前に、ソースクラスターとターゲットクラスターでスケールアウト、アップグレード、ダウングレードなどの管理操作が実行されていないことを確認してください。 移行元クラスターと移行先クラスターで管理操作が実行されている場合、システムは移行タスクを開始できません。
ストレージスペース検出
移行タスクが開始される前に、システムは移行元クラスターと移行先クラスターのストレージスペースをチェックします。 移行先クラスターのストレージ容量が移行元クラスターのストレージ容量の1.2倍以上であることを確認します。
ローカルテーブルと分散テーブルの検出
ローカルテーブルに分散テーブルが作成されていない場合、またはソースクラスターの同じローカルテーブルに複数の分散テーブルが作成されている場合、事前チェックは失敗します。 冗長分散テーブルを削除するか、一意の分散テーブルを作成する必要があります。
ステップ2: 移行タスクの表示
[クラスター] ページで、[コミュニティ互換版のクラスター] タブをクリックし、管理するクラスターのIDをクリックします。
左側のナビゲーションウィンドウで、[インスタンスの移行] をクリックします。
表示されるページで、移行タスクに関する次の情報を表示します。移行ステータス、移行の進行状況、およびデータ書き込み停止ウィンドウ。
説明移行の進行状況が99% に達し、移行状態が移行中の場合、移行元クラスターのデータ書き込み停止がトリガーされます。 次のセクションでは、データ書き込み停止のルールについて説明します。
データ書き込み中断がトリガーされた時間が事前定義された時間ウィンドウ内にある場合、ソースクラスタはデータ書き込み操作を中断します。
データの書き込み停止がトリガーされた時間が事前定義された時間枠内になく、以下
タスクの作成と開始日 + 5日
の場合は、時間枠を変更して移行タスクを続行できます。データの書き込み停止がトリガーされた時間が事前定義された時間枠内になく、
タスクの作成と開始日 + 5日
を超える場合、移行タスクは失敗します。 移行タスクをキャンセルし、移行先クラスターの移行済みデータをクリアし、データを移行するために移行タスクを再作成する必要があります。
(オプション) 手順3: 移行タスクのキャンセル
[クラスター] ページで、[コミュニティ互換版のクラスター] タブをクリックし、管理するクラスターのIDをクリックします。
左側のナビゲーションウィンドウで、[インスタンスの移行] をクリックします。
管理する移行タスクの [操作] 列で、[移行のキャンセル] をクリックします。
[移行のキャンセル] メッセージで、[OK] をクリックします。
説明移行タスクがキャンセルされた後、タスクの状態はすぐには更新されません。 タスクの状態を表示するには、定期的にページを更新することをお勧めします。
タスクがキャンセルされると、タスクの [移行ステータス] パラメーターの値が [完了] に変わります。
移行タスクを再起動する前に、データの重複を回避するために、移行先クラスターの移行データをクリアする必要があります。
(オプション) ステップ4: データ書き込み停止時間ウィンドウの変更
[クラスター] ページで、[コミュニティ互換版のクラスター] タブをクリックし、管理するクラスターのIDをクリックします。
左側のナビゲーションウィンドウで、[インスタンスの移行] をクリックします。
管理する移行タスクの [操作] 列で、[データ書き込み停止時間ウィンドウの変更] をクリックします。
[データ書き込み停止時間ウィンドウの変更] ダイアログボックスで、[データ書き込みの停止時間] パラメーターを設定します。
説明データ書き込みの停止時間の設定ルールは、移行タスクの作成時に設定されるデータ書き込みの停止時間の設定ルールと同じです。
[OK] をクリックします。
関連ドキュメント
セルフマネージドClickHouseクラスターからApsaraDB For ClickHouseクラスターにデータを移行する方法の詳細については、「セルフマネージドClickHouseクラスターからApsaraDB for ClickHouseクラスターへのデータの移行」をご参照ください。