sstablesplit
Splits SSTable files into multiple SSTables of a maximum designated size while offline.
For example, if SizeTieredCompactionStrategy (STCS) was used for a major compaction and results in an excessively large SSTable, split the table to ensure that compaction occurs before the next huge compaction.
|
Stop HCD before you run this command. |
The default location of this SSTable tool depends on your installation type:
-
Package installations:
/usr/bin/ -
Tarball installations:
INSTALL_DIRECTORY/resources/cassandra/tools/bin
Synopsis
sstablessplit
[--debug] [-h] [--no_snapshot]
[-s <max_size_in_MB>]
<sstable_filepath> [<sstable_filepath> ...]
Definition
The short- and long-form options are comma-separated.
- --debug
-
Display stack traces.
- -h, --help
-
Print the usage and listing of the commands.
- --no-snapshot
-
Do not snapshot SSTables before splitting.
- -s, --size max_size_in_MB
-
Maximum size in MB for output SSTables. Default: 50.
- sstable_filepath
-
File path to an SSTable.
Examples
|
Stop HCD before you run this command. |
-
Verify HCD is not running:
nodetool statusDatacenter: Test ================================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN 10.200.177.92 265.04 KiB 1 ? 980cab6a-2e5d-44c6-b897-0733dde580ac rack1 DN 10.200.177.94 426.21 KiB 1 ? 7ecbbc0c-627d-403e-b8cc-a2daa93d9ad3 rack1 -
Split SSTables to 10 MB:
sstablesplit /var/lib/cassandra/data/cycling/cyclist_category-e1f76e21ce4311e8949e33016bf887c0/aa-1-bti-Statistics.db 10Skipping inexisting file 10 Skipping /var/lib/cassandra/data/cycling/cyclist_category-e1f76e21ce4311e8949e33016bf887c0/aa-1-bti-Data.db: it's size (0.000 MB) is less than the split size (50 MB) No sstables needed splitting.
Troubleshoot OutOfMemoryError
Some tools require a larger heap size.
If you get OutOfMemoryError exceptions, try increasing the heap size for sstablesplit.
To do this, set MAX_HEAP_SIZE in the sstablesplit shell script:
MAX_HEAP_SIZE="8G"