nodetool snapshot
データとテーブル・スキーマをバックアップします。
データとテーブル・スキーマをバックアップします。
構文
$ nodetool options snapshot ( -cf table_name | --column-family table_name ) (-kc ktlist | --kc.list ktlist | -kt ktlist | --kt-list ktlist) (-sf | --skip-flush) (-t tag | --tag tag ) -- ( keyspace_name | keyspace_name ...)
installation_location/resources/cassandra/bin
短い形式 | 長い形式 | 説明 |
---|---|---|
-h |
--host |
ホスト名またはIPアドレス。 |
-p |
--port |
ポート番号。 |
-pwf |
--password-file |
パスワード・ファイルのパス。 |
-pw |
--password |
パスワード。 |
-u |
--username |
リモートJMXエージェントのユーザー名。 |
-cf table |
--column-family table |
スナップショットを作成するtableの名前。キースペースを1つだけ指定する必要があります。 |
--table table |
スナップショットを作成するtableの名前。キースペースを1つだけ指定する必要があります。 | |
-kc ktlist |
--kc.list ktlist |
keyspace_name.table_nameのスペースなしのコンマ区切りリスト。 たとえば、 |
-kt ktlist |
--kt-list ktlist |
keyspace_name.table_nameのスペースなしのコンマ区切りリスト。 たとえば、 |
-sf |
--skip-flush |
最初にテーブルをフラッシュせずにスナップショットを実行します。 |
-t |
--tag |
スナップショット・ディレクトリーinstallation_path/data/keyspace_name/table-UID/snapshots/snapshot_nameの名前 注: 指定しなかった場合は、現在の時刻が使用されます。たとえば、 1489076973698 です。 |
keyspace | スペースで区切られたオプションの1つ以上のキースペース名です。デフォルト:すべてのキースペース | |
-- |
オプションと間違えられる可能性のある引数とオプションを区切ります。 |
説明
スナップショット・ディレクトリーのパスは、data/keyspace_name/table-UID/snapshots/snapshot_nameです。データは複数の.dbファイルにバックアップされ、テーブル・スキーマはschema.cqlに保存されます。
すべてのインストールで、dataディレクトリーのデフォルトの場所は/var/lib/cassandra/dataです。
例:すべてのキースペース
ノード上のすべてのキースペースのスナップショットを取得します。
$ nodetool snapshot
メッセージは、スナップショット・ディレクトリーの名前が付いた状態で表示されます。
Requested creating snapshot(s) for [all keyspaces] with snapshot name [1489076973698] and options {skipFlush=false}
Snapshot directory: 1489076973698
例:1つのキースペースのスナップショット
キースペースcyclingを作成したうえで、そのキースペースのスナップショットを取得し、そのスナップショットにcycling_2017-3-9という名前を付けたとします。
$ nodetool snapshot -t cycling_2017-3-9 cycling
以下の出力が表示されます。
Requested creating snapshot(s) for [cycling] with snapshot name [2015.07.17]
Snapshot directory: cycling_2017-3-9
.db
ファイルは、テーブル・スキーマと同様にこれらのディレクトリーに配置されます。たとえば、インストール・ディレクトリーから以下を実行します。ls -1 data/cycling/cyclist_name-9e516080f30811e689e40725f37c761d/snapshots/cycling_2017-3-9
manifest.json
mc-1-big-CompressionInfo.db
mc-1-big-Data.db
mc-1-big-Digest.crc32
mc-1-big-Filter.db
mc-1-big-Index.db
mc-1-big-Statistics.db
mc-1-big-Summary.db
mc-1-big-TOC.txt
schema.cql
例:複数のキースペースのスナップショット
cyclingキースペースのほかに、mykeyspaceという名前のキースペースをすでに作成しており、両方のキースペースのスナップショットを取得するとします。
nodetool snapshot mykeyspace cycling
以下のメッセージが表示されます。
Requested creating snapshot(s) for [mykeyspace, cycling] with snapshot name [1391460334889]
Snapshot directory: 1391460334889
例:1つのテーブルのスナップショット
cyclingキースペース内のcyclist_nameテーブルのみのスナップショットを取得します。
nodetool snapshot --table cyclist_name cycling
Requested creating snapshot(s) for [cycling] with snapshot name [1391461910600]
Snapshot directory: 1391461910600
DSEは、データ・ファイルとcyclist_nameテーブルのスキーマを含む1391461910600という名前のスナップショット・ディレクトリーを、data/cycling/cyclist_name-a882dca02aaf11e58c7b8b496c707234/snapshotsに作成します。例:異なるキースペースの複数のテーブル
cyclingキースペース内のcyclist_nameテーブルやtestキースペース内のsample_timesテーブルなど、異なるキースペースのスナップショットを取得します。スペースなしのコンマ区切りリストでテーブルを一覧表示します。
nodetool snapshot -kt cycling.cyclist_name,test.sample_times
Requested creating snapshot(s) for [cycling.cyclist_name,test.sample_times] with snapshot name [1431045288401]
Snapshot directory: 1431045288401