2016-10-26 4 views
2

SSDドライブ上に15個のノードと複製ファクタ3を持つCassandraクラスタ(2.1.11)があります。圧縮と修復でCasandra dbから大量のデータを削除した後もディスク容量は変更されていません

テーブルの1つは12 TBを占有します。ライブディスクスペースと合計ディスクスペースは同等です。また、Opsセンター、JMXレポート、ファイルシステム上の実際のフォルダサイズも同じであることを確認しました。

スペースが不足しているため、データ全体の35%を削除しました。 (各エントリは104バイトなので、何十億行も削除されています)

しかし、エントリを削除する間、多くのコンパクションが行われていますが、空き領域が全くありません。

それ以来、私たちはnodetool修復/ nodetoolクリーン/再起動プロセスjvmを実行しました。

誰かが私ができることを知っていますか?

+0

ディスク上で実行中の場合はGCグレースを実行してください。今のところこれを下げて圧縮をトリガすることができます。 –

+0

ありがとうございます。毎週夜間のクリーンアップバッチ処理を1週間実行しています。これまで10日はなかった。この値を変更してプロセスを再開することがあります。それがどのように更新されます。 –

+0

gc_grace_periodsを3日に設定し、修復処理を開始しました。私たちはプロセスを再開していません。私は確かにダウントレンドを見るが、それは非常に遅い。過去3日間、30GBのスペースしか解放されていません。すべてのボックスを再起動するか、修復処理が完了するまで待ちますか?修理は通常7〜10日かかります。 –

答えて

3

削除されたデータが最終的に削除された生成済み墓碑を取得する前に、gc_grace_secondsを待たなければならないと仮定します。あらかじめ期限内に計画してください:)

ここでは、Cassandraの内部作業を理解し、ディスク領域のリリースを削除することを理解する上でgood linkです。そして、おそらくこれはユーザー定義の圧縮を行うにはどうすればいいのでしょうか?link

+0

レベリングされていないノートは、ディスクから離れる前にGCグレースよりもずっと長くなる場合があります –