Cassandra 文档

版本

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

sstableutil

列出为提供的表提供的 sstable 文件。

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

用法

sstableutil <options> <keyspace> <table>

-c, --cleanup 清理任何未完成的事务

-d, --debug

显示堆栈跟踪

-h, --help

显示此帮助消息

-o, --oplog

包含操作日志

-t, --type <arg>

all(列出所有文件,最终文件或临时文件),tmp(仅列出临时文件),final(仅列出最终文件),

-v, --verbose

详细输出

列出所有 sstable

基本命令列出与给定键空间/表关联的 sstable。

示例

sstableutil keyspace eventlog
Listing files...
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-CRC.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Data.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Digest.crc32
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Filter.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Index.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Statistics.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-Summary.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-32-big-TOC.txt
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-CRC.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Data.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Digest.crc32
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Filter.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Index.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Statistics.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-Summary.db
/var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-37-big-TOC.txt

仅列出临时 sstable

使用 -t 选项后跟 tmp 将列出所有临时 sstable,格式如上。临时 sstable 在 Cassandra 的 3.0 之前的版本中使用。

仅列出最终 sstable

使用 -t 选项后跟 final 将列出所有最终 sstable,格式如上。在 Cassandra 的最新版本中,这与不使用 -t 选项的输出相同。

包含事务日志

使用 -o 选项将在列表中包含事务日志,格式如上。

清理 sstable

使用 -c 选项将删除任何从不完整写入或压缩中遗留的事务。

来自 3.0 升级说明

已引入新的事务日志文件来替换 compactions_in_progress 系统表、临时文件标记(tmp 和 tmplink)以及 sstable 祖先。因此,压缩元数据不再包含祖先。事务日志文件列出参与压缩和其他操作(如刷新和流式传输)的 sstable 描述符。使用 sstableutil 工具列出当前参与尚未完成的操作的任何 sstable 文件,这些文件以前将被标记为临时文件。事务日志文件每行包含一个 sstable,前缀为“add:”或“remove:”。它们还包含一个特殊的行“commit”,仅在事务提交时在末尾插入。在启动时,我们使用这些文件来清理在进程退出时正在进行的任何部分事务。如果找到 commit 行,我们将保留新的 sstable(带有“add”前缀的那些)并删除旧的 sstable(带有“remove”前缀的那些),反之亦然,如果 commit 行丢失。如果您丢失或删除了这些日志文件,旧的和新的 sstable 文件都将被保留为活动文件,这将导致 sstable 重复。这些文件受增量校验和保护,因此您不应手动编辑它们。在还原完整备份或移动 sstable 文件时,您应该首先清理任何遗留的事务及其临时文件。