ラック間でのノードの移動

ラック間でのノードの移動方法。

一般的なタスクは、ラック間でノードを移動することです。たとえば、GossipPropertyFileSnitchを使用した場合によくあるエラーは、ノードが間違って別のラックに配置されることです。このエラーを修正するには、以下の手順のいずれかを使用します。
  • 推奨される方法。ノードを使用廃止にし、正しいラックおよびデータ・センターに追加し直します。

    この方法の場合、最初に、使用廃止にされたノードから不要になったデータが削除され、その後ブートストラップ中にノードが新しいデータを取得するため、代替方法(以下を参照)より時間がかかります。代替方法。両方の操作が同時に行われます。

  • 代替方法では、ノードのトポロジーを更新し、ノードを再起動します。ノードが起動したら、クラスターでfull repairを実行します。
    注意: リペアが完了するまで、ノードはそのノードに含まれないデータの要求をやみくもに処理する恐れがあるため、この方法は推奨されません。要求の処理によるこの問題を軽減するには、リペア後に-Dcassandra.join_ring=falseを使用してノードを起動し、JMXメソッドorg.apache.cassandra.db.StorageService.joinRing()を使用してノードをクラスターに完全に追加します。これにより、このノードが要求を処理する前に他のノードと同期しない可能性を抑えられます。ノードをクラスターに追加したら、ノードを再度リペアし、最初のリペア中に欠落した書き込みが捕捉されるようにします。