ラック間でのノードの移動
ラック間でのノードの移動方法。
一般的なタスクは、ラック間でノードを移動することです。たとえば、GossipPropertyFileSnitchを使用した場合によくあるエラーは、ノードが間違って別のラックに配置されることです。このエラーを修正するには、以下の手順のいずれかを使用します。
- 推奨される方法。ノードを使用廃止にし、正しいラックおよびデータ・センターに追加し直します。
この方法の場合、最初に、使用廃止にされたノードから不要になったデータが削除され、その後ブートストラップ中にノードが新しいデータを取得するため、代替方法(以下を参照)より時間がかかります。この代替方法では両方の操作が同時に実行されます。
- 代替方法では、ノードのトポロジーを更新し、ノードを再起動します。ノードが起動したら、クラスターでfull repairを実行します。注意: リペアが完了するまで、ノードはそのノードに含まれないデータの要求をやみくもに処理する恐れがあるため、この方法は推奨されません。要求の処理によるこの問題を軽減するには、リペア後に
-Dcassandra.join_ring=false
を使用してノードを起動し、JMXメソッドorg.apache.cassandra.db.StorageService.joinRing()
を使用してノードをクラスターに完全に追加します。これにより、このノードが要求を処理する前に他のノードと同期しない可能性を抑えられます。ノードをクラスターに追加したら、ノードを再度リペアし、最初のリペア中に欠落した書き込みが捕捉されるようにします。