sstableupgrade
指定されたテーブル(またはスナップショット)のsstablesを現在のCassandraバージョンにアップグレードします。このプロセスは通常、Cassandraのバージョンアップグレード後に行われます。この操作は、指定されたテーブルのsstablesを現在インストールされているCassandraのバージョンに合わせて書き換えます。sstableupgradeコマンドは、sstablesを以前のバージョンにダウングレードするためにも使用できます。
snapshotオプションは、指定されたスナップショットのみをアップグレードします。スナップショットのアップグレードは、Cassandraが現在実行しているメジャーバージョンよりも古いメジャーバージョンで取得されたスナップショットを復元しようとする前に必要です。これにより、指定されたスナップショット内のファイルが置き換えられ、ライブsstablesへのハードリンクがすべて解除されます。
このツールを実行する前にCassandraを停止する必要があります。停止しない場合、予期しない結果が発生します。注意:スクリプトはCassandraが停止していることを確認しません。
使用法
sstableupgrade <オプション> <キースペース> <テーブル> [snapshot_name]
--debug |
スタックトレースを表示 |
-h,--help |
このヘルプメッセージを表示 |
-k,--keep-source |
ソースsstablesを削除しない |
テーブルを現在のCassandraバージョンに書き換える
Cassandraのあるバージョンでsstablesのセットから開始
ls -al /tmp/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/ ... -rw-r--r-- 1 user wheel 348 Aug 22 13:45 keyspace1-standard1-ka-1-CRC.db -rw-r--r-- 1 user wheel 5620000 Aug 22 13:45 keyspace1-standard1-ka-1-Data.db -rw-r--r-- 1 user wheel 10 Aug 22 13:45 keyspace1-standard1-ka-1-Digest.sha1 -rw-r--r-- 1 user wheel 25016 Aug 22 13:45 keyspace1-standard1-ka-1-Filter.db -rw-r--r-- 1 user wheel 480000 Aug 22 13:45 keyspace1-standard1-ka-1-Index.db -rw-r--r-- 1 user wheel 9895 Aug 22 13:45 keyspace1-standard1-ka-1-Statistics.db -rw-r--r-- 1 user wheel 3562 Aug 22 13:45 keyspace1-standard1-ka-1-Summary.db -rw-r--r-- 1 user wheel 79 Aug 22 13:45 keyspace1-standard1-ka-1-TOC.txt
Cassandraのバージョンをアップグレードした後、sstablesをアップグレードする
sstableupgrade keyspace1 standard1 Found 1 sstables that need upgrading. Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/keyspace1-standard1-ka-1-Data.db') Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/keyspace1-standard1-ka-1-Data.db') complete. ls -al /tmp/cassandra/data/keyspace1/standard1-9695b790a63211e8a6fb091830ac5256/ ... drwxr-xr-x 2 user wheel 64 Aug 22 13:48 backups -rw-r--r-- 1 user wheel 292 Aug 22 13:48 mc-2-big-CRC.db -rw-r--r-- 1 user wheel 4599475 Aug 22 13:48 mc-2-big-Data.db -rw-r--r-- 1 user wheel 10 Aug 22 13:48 mc-2-big-Digest.crc32 -rw-r--r-- 1 user wheel 25256 Aug 22 13:48 mc-2-big-Filter.db -rw-r--r-- 1 user wheel 330807 Aug 22 13:48 mc-2-big-Index.db -rw-r--r-- 1 user wheel 10312 Aug 22 13:48 mc-2-big-Statistics.db -rw-r--r-- 1 user wheel 3506 Aug 22 13:48 mc-2-big-Summary.db -rw-r--r-- 1 user wheel 80 Aug 22 13:48 mc-2-big-TOC.txt
テーブルを現在のCassandraバージョンに書き換え、古いバージョンのテーブルを保持する
再び、あるバージョンのsstablesのセットから開始
ls -al /tmp/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/ ... -rw-r--r-- 1 user wheel 348 Aug 22 13:58 keyspace1-standard1-ka-1-CRC.db -rw-r--r-- 1 user wheel 5620000 Aug 22 13:58 keyspace1-standard1-ka-1-Data.db -rw-r--r-- 1 user wheel 10 Aug 22 13:58 keyspace1-standard1-ka-1-Digest.sha1 -rw-r--r-- 1 user wheel 25016 Aug 22 13:58 keyspace1-standard1-ka-1-Filter.db -rw-r--r-- 1 user wheel 480000 Aug 22 13:58 keyspace1-standard1-ka-1-Index.db -rw-r--r-- 1 user wheel 9895 Aug 22 13:58 keyspace1-standard1-ka-1-Statistics.db -rw-r--r-- 1 user wheel 3562 Aug 22 13:58 keyspace1-standard1-ka-1-Summary.db -rw-r--r-- 1 user wheel 79 Aug 22 13:58 keyspace1-standard1-ka-1-TOC.txt
Cassandraのバージョンをアップグレードした後、元のsstablesを保持したまま、sstablesをアップグレードする
sstableupgrade keyspace1 standard1 -k Found 1 sstables that need upgrading. Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/keyspace1-standard1-ka-1-Data.db') Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/keyspace1-standard1-ka-1-Data.db') complete. ls -al /tmp/cassandra/data/keyspace1/standard1-db532690a63411e8b4ae091830ac5256/ ... drwxr-xr-x 2 user wheel 64 Aug 22 14:00 backups -rw-r--r--@ 1 user wheel 348 Aug 22 13:58 keyspace1-standard1-ka-1-CRC.db -rw-r--r--@ 1 user wheel 5620000 Aug 22 13:58 keyspace1-standard1-ka-1-Data.db -rw-r--r--@ 1 user wheel 10 Aug 22 13:58 keyspace1-standard1-ka-1-Digest.sha1 -rw-r--r--@ 1 user wheel 25016 Aug 22 13:58 keyspace1-standard1-ka-1-Filter.db -rw-r--r--@ 1 user wheel 480000 Aug 22 13:58 keyspace1-standard1-ka-1-Index.db -rw-r--r--@ 1 user wheel 9895 Aug 22 13:58 keyspace1-standard1-ka-1-Statistics.db -rw-r--r--@ 1 user wheel 3562 Aug 22 13:58 keyspace1-standard1-ka-1-Summary.db -rw-r--r--@ 1 user wheel 79 Aug 22 13:58 keyspace1-standard1-ka-1-TOC.txt -rw-r--r-- 1 user wheel 292 Aug 22 14:01 mc-2-big-CRC.db -rw-r--r-- 1 user wheel 4596370 Aug 22 14:01 mc-2-big-Data.db -rw-r--r-- 1 user wheel 10 Aug 22 14:01 mc-2-big-Digest.crc32 -rw-r--r-- 1 user wheel 25256 Aug 22 14:01 mc-2-big-Filter.db -rw-r--r-- 1 user wheel 330801 Aug 22 14:01 mc-2-big-Index.db -rw-r--r-- 1 user wheel 10312 Aug 22 14:01 mc-2-big-Statistics.db -rw-r--r-- 1 user wheel 3506 Aug 22 14:01 mc-2-big-Summary.db -rw-r--r-- 1 user wheel 80 Aug 22 14:01 mc-2-big-TOC.txt
スナップショットを現在のCassandraバージョンに書き換える
スナップショット名を見つける
nodetool listsnapshots Snapshot Details: Snapshot name Keyspace name Column family name True size Size on disk ... 1534962986979 keyspace1 standard1 5.85 MB 5.85 MB
次に、スナップショットを書き換える
sstableupgrade keyspace1 standard1 1534962986979 Found 1 sstables that need upgrading. Upgrading BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-5850e9f0a63711e8a5c5091830ac5256/snapshots/1534962986979/keyspace1-standard1-ka-1-Data.db') Upgrade of BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-5850e9f0a63711e8a5c5091830ac5256/snapshots/1534962986979/keyspace1-standard1-ka-1-Data.db') complete.