複数の Cassandra ノードで同一の SStable を確認する必要がありますか?

複数の Cassandra ノードで同一の SStable を確認する必要がありますか?

Cassandra クラスターのレプリケーションの状態を確認しようとしています。同僚が、複数のノードに存在する sstable ファイルは少数であることを発見しました。その他はすべて一意です。

私にとっては、これは理にかなっています。私の理解では、各ノードは一意の範囲セットを担当し、それらの範囲を反映する sstables を持つ必要があります。しかし、今のところ確信はありません。

レプリケーション係数が n の各 sstable のコピーを少なくとも n 個見つける必要がありますか? それとも、sstable のコピーはブートストラップの結果であり、まだ圧縮されていませんか?

答え1

SSTable ファイルは、memtable のフラッシュが発生したとき、および SSTable が圧縮されたときに作成されます。各ノードでは、この処理が異なるタイミングで発生する可能性があります (短いダウンタイムなどの他の要因も影響します)。

すべてのデータを正しくレプリケートするには、 を明示的に呼び出すか、DataStax の OpsCenter (DSE のみ)、Reaper (または同様のもの) などのツールを使用することによって、修復プロセスを実装する必要がありますnodetool repair

関連情報