キースペース・レプリケーション・ストラテジの変更
SimpleStrategyからNetworkTopologyStrategyへのキースペースのレプリケーション・ストラテジの変更。
キースペースは、レプリケーション・ストラテジを使用して作成されます。開発の場合は、SimpleStrategy
クラスを受け入れることができます。実稼働の場合は、NetworkTopologyStrategy
を使用する必要があります。ストラテジを変更するには、データ・センターを追加して複数のデータ・センター内のノードの分散を変更してから、新しいデータ・センター内の新しいノードにデータを追加し、古いデータ・センターからノードを削除します。
手順
- 必要に応じて、ネットワーク対応設定にスニッチを変更します。
-
ALTER KEYSPACE
を使用してキースペース・プロパティを変更します。- 例1単一のデータ・センターの場合は、キースペース「cycling」をSimpleStrategyからNetworkTopologyStrategyに切り替えます。
cqlsh> ALTER KEYSPACE cycling WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 3};
- 例22つのデータ・センターの場合は、キースペース「cycling」をSimpleStrategyからNetworkTopologyStrategyに切り替えます。
キースペースを変更するだけでは、データ・レプリケーションで障害が生じる可能性があります。cqlsh> ALTER KEYSPACE cycling WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 3, 'DC2' : 2 };
- 例1単一のデータ・センターの場合は、キースペース「cycling」をSimpleStrategyからNetworkTopologyStrategyに切り替えます。
-
変更の影響を受けるノードごとに、
-full
オプションを使用してnodetool repairを実行します。$ nodetool repair -full keyspace
tarボールおよびInstaller-No Servicesのパス:installation_location/resources/cassandra/bin
キースペースのレプリケーションを選択したデータ・センターや単一のデータ・センターに制限できます。これを行うには、NetworkTopologyStrategyを使用して、除外したデータ・センターのレプリケーション係数を0
(ゼロ)に設定します。
「レプリケーション係数の変更」を参照してください。cqlsh> ALTER KEYSPACE cycling WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 0, 'DC2' : 3, 'DC3' : 0 };