サービスを中断しない特異な移行シナリオ。
このトピックの情報は、以下のタイプのシナリオを意図しています(サービスの中断なし)。
- EC2のクラスターをAmazon仮想プライベート・クラウド(VPC)のクラスターに移行します。
- ネットワークが現在のクラスターを将来の場所から切り離す際に、クラスターから移行します。
- 初期のCassandraクラスターから最新のメジャー・バージョンに移行します。
手順
以下の方法は、新しいクラスターに問題が生じても、不要になるまでは既存のクラスターを残して置けます。
-
Provisioning a new clusterの説明に従って、新しいクラスターを設定および構成します。
注: vnodeを使用していない場合は、新しいノードのトークンの範囲を必ず構成し、古いクラスターの範囲と一致させてください。
-
CQLを使用して、新しいクラスターのスキーマを設定します。
-
両方のクラスターに書き込むようにクライアントを構成します。
書き込みの仕方によっては、コードの変更が必要です。必ず同一の整合性レベルを使用してください。
-
ステップ6で、スナップショットを新しいクラスターにコピーする際にギャップが生じないよう、データが新しいノード群に流れていることを確認にしてください。
-
古いEC2クラスターのスナップショットを取ります。
-
キー・スペースのデータ・ファイルをノードにコピーします。
- vnodeを使用しない場合かつノードが1:1で対応する場合は、対応するノードにデータ・ファイルを単にコピーするほうが簡単で効率が高まります。
- クラスターのサイズが異なる場合またはvnodeを使用している場合は、Cassandraバルク・ローダーSstableloader(Cassandraバルク・ローダー)(sstableloader)を使用してください。
-
新しいクラスターに一斉に切り替えるか、またはインクリメンタル移行を実行することができます。
たとえば、インクリメンタル移行を実行するには、新しいクラスターにアクセスする読み取りの割合を指定するようにクライアントを設定できます。これにより、古いクラスターを使用廃止にする前に、新しいクラスターをテストできます。
-
古いクラスターを使用廃止します。
-
クラスターをOpsCenterから取り除きます。
-
ノードを取り除きます。