Cassandra 文档

版本

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

sstablelevelreset

如果设置了 LeveledCompactionStrategy,则可以使用此脚本将给定 SSTable 集的级别重置为 0。这在您想要更改最小 SSTable 大小(因此使用此新配置重新启动压缩过程)时很有用。

有关级别在此压缩策略中的使用方式的信息,请参阅 cassandra.apache.org/doc/latest/operating/compaction/lcs.html#lcs

在执行此工具之前,必须停止 Cassandra,否则会导致意外结果。注意:该脚本不会验证 Cassandra 是否已停止。

用法

sstablelevelreset --really-reset <keyspace> <table>

需要 really-reset 标志,以确保不会意外运行此侵入性命令。

找不到表

如果 keyspace 和/或表不在模式中(例如,如果拼写错误的表名),则脚本将返回错误。

示例

ColumnFamily not found: keyspace/evenlog.

表没有 SSTable

示例

Found no sstables, did you give the correct keyspace/table?

表已处于级别 0

如果级别已设置为 0,则脚本不会设置级别。

示例

Skipped /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db since it is already on level 0

表级别已降至 0

如果级别尚未为 0,则这会将其重置为 0。

示例

sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 1

sstablelevelreset --really-reset keyspace eventlog
Changing level from 1 to 0 on /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db

sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 0