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