sstablesplit
大型 sstable 文件会占用大量磁盘空间。sstablesplit 工具可用于将这些大型文件拆分为较小的文件。可以将其视为一种反压缩类型。
在执行此工具之前,必须停止 Cassandra,否则会导致意外结果。注意:该脚本不会验证 Cassandra 是否已停止。
用法
sstablesplit <options> <filename>
--debug | 显示堆栈跟踪 |
---|---|
-h, --help |
显示此帮助消息 |
--no-snapshot |
在拆分之前不要对 sstable 进行快照 |
-s, --size <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.