6

C* リングに新しいノードを追加した場合、「nodetool cleanup」を実行して、別の場所に割り当てられたデータを削除する必要がありますか? それとも、通常の圧縮中にとにかくこれが発生しますか? 通常の圧縮中に、C* はこのノードに属さなくなったデータを削除しますか?それとも、そのために「nodetoool クリーンアップ」を実行する必要がありますか? 「クリーンアップ」には永遠に時間がかかり、終了する前にノードがクラッシュするため、質問しています。

「nodetool cleanup」を実行する必要がある場合、所有すべきではないデータを持つノードを見つける方法はありますか? (つまり、現在は新しいノードに属しているが、誰も削除していないため古いノードにまだ存在しているデータ。これは「nodetool cleanup」で削除されるデータです。) RF=3 と 2 つのデータセンターがあり、それぞれがこれにはデータの完全なコピーがあります。ノードを追加したデータセンター内のすべてのノードでクリーンアップを実行する必要があると思います。これは、新しいノードの各行が別のノード (プライマリ) にあり、さらに 2 つのコピー (レプリカ) が他の 2 つのノードにあったためです。

4

1 に答える 1

5

Apache Cassandra 1.2 以降を使用している場合、クリーンアップはファイルのメタデータをチェックして、必要な場合にのみ何かを実行します。したがって、すべてのノードで実行しても安全であり、余分なデータを持つノードのみが何かを行います。データは通常の圧縮プロセスでは削除されないため、クリーンアップを呼び出して削除する必要があります。

于 2014-07-04T02:34:21.473 に答える