sstablesplit
大きな sstable ファイルは、多くのディスク容量を消費する可能性があります。sstablesplit ツールを使用すると、これらの大きなファイルをより小さなファイルに分割できます。これは、一種のアンチコンパクションと考えることができます。
このツールを実行する前に、Cassandra を停止する必要があります。そうしないと、予期しない結果が発生します。注意: スクリプトは Cassandra が停止していることを確認しません。
使用法
sstablesplit <オプション> <ファイル名>
--debug | スタックトレースを表示する |
---|---|
-h, --help |
このヘルプメッセージを表示する |
--no-snapshot |
分割前に sstable のスナップショットを作成しない |
-s, --size <サイズ> |
出力 sstable の最大サイズ (MB 単位) (デフォルト: 50) |
このコマンドは、Cassandra を停止した状態で実行する必要があります。注意: スクリプトは Cassandra が停止していることを確認しません。
ファイルの分割
大きな sstable をより小さな sstable に分割します。デフォルトでは、--no-snapshot オプションが追加されない限り、元の sstable のスナップショットが作成され、snapshots フォルダに配置されます。
例
sstablesplit /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db Pre-split sstables snapshotted into snapshot pre-split-1533144514795
複数のファイルの分割
コマンドのファイル名部分でワイルドカードを使用して、複数のファイルを分割できます。
例
sstablesplit --size 1 /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-1*
小さなファイルの分割を試みる
ファイルが既に指定された分割サイズよりも小さい場合、sstable は分割されません。
例
sstablesplit /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db Skipping /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db: it's size (1.442 MB) is less than the split size (50 MB) No sstables needed splitting.
指定されたサイズにファイルを分割する
分割に使用されるデフォルトサイズは 50MB です。--size オプションを使用して別のサイズを指定します。サイズはメガバイト (MB) 単位です。単位ではなく、数値のみを指定します。たとえば、--size 50 は正しいですが、--size 50MB は正しくありません。
例
sstablesplit --size 1 /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-9-big-Data.db Pre-split sstables snapshotted into snapshot pre-split-1533144996008