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
使用 -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 文件时,您应该首先清理任何遗留的事务及其临时文件。