sstableutil
指定されたテーブルの sstable ファイルをリストします。
このツールを実行する前に Cassandra を停止する必要があります。そうしないと、予期しない結果が発生します。注: スクリプトは Cassandra が停止しているかどうかを検証しません。
使用法
sstableutil <オプション> <キースペース> <テーブル>
-c, --cleanup | 未処理のトランザクションをクリーンアップします |
---|---|
-d, --debug |
スタックトレースを表示します |
-h, --help |
このヘルプメッセージを表示します |
-o, --oplog |
操作ログを含めます |
-t, --type <arg> |
すべて (すべてのファイル、最終ファイルまたは一時ファイルをリスト)、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 オプションを使用しない場合と同じ出力になります。
sstable のクリーンアップ
-c オプションを使用すると、不完全な書き込みまたはコンパクションから残されたトランザクションが削除されます。
3.0 のアップグレードノートより
コンパクションの進行中のシステムテーブル、一時ファイルマーカー (tmp および tmplink)、および sstable の先祖を置き換えるために、新しいトランザクションログファイルが導入されました。したがって、コンパクションメタデータには先祖が含まれなくなりました。トランザクションログファイルには、コンパクションやフラッシュ、ストリーミングなどの他の操作に関与する sstable ディスクリプタがリストされます。sstableutil ツールを使用して、以前は一時としてマークされていた、完了していない操作に関与している sstable ファイルをリストします。トランザクションログファイルには、1行に1つの sstable が含まれ、プレフィックス "add:" または "remove:" が付いています。また、トランザクションがコミットされたときに最後にのみ挿入される特別な行 "commit" も含まれています。起動時に、これらのファイルを使用して、プロセスの終了時に進行中だった部分的なトランザクションをクリーンアップします。コミット行が見つかった場合は、新しい sstable (「add」プレフィックスが付いたもの) を保持し、古い sstable (「remove」プレフィックスが付いたもの) を削除します。コミット行がない場合は、逆になります。これらのログファイルを紛失または削除すると、古い sstable ファイルと新しい sstable ファイルの両方がライブファイルとして保持され、sstable が重複してしまいます。これらのファイルは増分チェックサムによって保護されているため、手動で編集しないでください。フルバックアップを復元したり、sstable ファイルを移動したりする場合は、まず残っているトランザクションと一時ファイルをクリーンアップする必要があります。