Cassandra 文档

版本

您正在查看预发布版本的文档。

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.

将文件拆分为指定大小

用于拆分的默认大小为 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

不进行快照地拆分

默认情况下,sstablesplit 会在拆分之前创建快照。如果不需要快照,请使用 --no-snapshot 选项跳过它。

示例

sstablesplit --size 1 --no-snapshot /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-11-big-Data.db

注意:没有输出,但您可以在文件系统中看到结果。