Cassandra ドキュメント

バージョン

これはプレリリース版のドキュメントを表示しています。

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.