データ・センターの使用廃止
情報を失うことのないようデータ・センターを適切に取り除く手順。
手順
-
データ・センター内のノードにまだ書き込み中のクライアントがないことを確認します。
OpsCenterを使用しない場合、以下のJMX MBeanによって、クライアントの接続と保留中の要求に関する詳細が提供されます。
- アクティブな接続:
org.apache.cassandra.metrics/Client/connectedNativeClients
およびorg.apache.cassandra.metrics/Client/connectedThriftClients
- 保留中の要求:
org.apache.cassandra.metrics/ClientRequests/viewPendingMutations
、またはnodetool tpstats
を使用します。
- アクティブな接続:
-
nodetool repair --fullを使用して完全リペアを実行して、すべてのデータが廃止対象のデータ・センターから伝播されるようにします。
- OpsCenter Repair Service(リペア・サービス)をシャットダウンします(使用中の場合)。
- 削除されたデータ・センターを参照しないよう、すべてのキースペースを変更します。
- データ・センターのすべてのノードをシャットダウンします。
- 各ノードでDataStaxエージェントを停止します(使用中の場合)。
-
削除対象のデータ・センターの各ノードでnodetool assassinateを実行します。
nodetool assassinate remote_IP_address
キースペースのRF(レプリケーション係数)が適切に更新されていない場合:- 更新する必要があるキースペースの名前を書き留めます。
- キースペースRFからデータ・センターを削除します(ALTER KEYSPACEを使用します)。
- キースペースにRF単純ストラテジが含まれている場合は、キースペースに対してもフル・リペアを実行します。
nodetool repair --full keyspace_name
-
nodetool status
を実行して、データ・センターのノードが削除されたことを確認してください。
例
クラスターからDC3を削除する場合:
- クラスターのステータスを確認します。
nodetool status
ステータスには、それぞれが1ノードの3つのデータ・センターが存在することが示されます。Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns Host ID Token Rack UN 10.200.175.11 474.23 KiB ? 7297d21e-a04e-4bb1-91d9-8149b03fb60a -9223372036854775808 rack1 Datacenter: DC2 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns Host ID Token Rack UN 10.200.175.113 518.36 KiB ? 2ff7d46c-f084-477e-aa53-0f4791c71dbc -9223372036854775798 rack1 Datacenter: DC3 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns Host ID Token Rack UN 10.200.175.111 461.56 KiB ? ac43e602-ef09-4d0d-a455-3311f444198c -9223372036854775788 rack1
- フル・リペアを実行します。
nodetool repair --full
- JConsoleを使用し、次のJMX Beansを確認してアクティブな接続がないことを確認します。
org.apache.cassandra.metrics/Client/connectedNativeClients
org.apache.cassandra.metrics/Client/connectedThriftClients
- 削除対象のノードごとに保留中の書き込み要求がないことを確認します(
Pending
列は「0
」または「N/A
」となっていなければなりません)。nodetool tpstats
Pool Name Active Pending (w/Backpressure) Delayed Completed... BackgroundIoStage 0 0 (N/A) N/A 640... CompactionExecutor 0 0 (N/A) N/A 1039... GossipStage 0 0 (N/A) N/A 4580... HintsDispatcher 0 0 (N/A) N/A 2...
cqlsh
を起動し、すべてのキースペース構成からDC3を削除します。DC3にRFが設定されているキースペースごとに手順を繰り返します。alter keyspace cycling WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1':1,'DC2':2};
- OpsCenter Repair Service(リペア・サービス)をシャットダウンします(使用中の場合)。
- データ・センターのすべてのノードをシャットダウンします。
- 各ノードでDataStaxエージェントを停止します(使用中の場合)。
- DC3(削除対象のデータ・センター)の各ノードでnodetool assassinateを実行します。
nodetool assassinate remote_IP_address
- 残りのデータ・センターで、DC3が削除されたことを確認します。
nodetool status
Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns Host ID Token Rack UN 10.200.175.11 503.54 KiB ? 7297d21e-a04e-4bb1-91d9-8149b03fb60a -9223372036854775808 rack1 Datacenter: DC2 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns Host ID Token Rack UN 10.200.175.113 522.47 KiB ? 2ff7d46c-f084-477e-aa53-0f4791c71dbc -9223372036854775798 rack1