nodetool snapshot
テーブル・データのスナップショットを取得してバックアップを作成します。
data
すべてのインストールで、dataディレクトリーのデフォルトの場所は次のとおりです。- /var/lib/cassandra/data
テーブル・データのスナップショットを取得してバックアップを作成します。スナップショットは、スナップショットが実行された時のスキーマ・テーブルのデータ・ディレクトリー内のSSTableファイルへのハードリンクです。
スナップショット・ディレクトリーのパスは、data/keyspace_name/table-UID/snapshots/snapshot_nameです。データは複数の.dbファイルにバックアップされ、テーブル・スキーマはschema.cqlに保存されます。schema.cqlファイルは、スナップショットを復元するにはテーブルが同じ構造を持つ必要があるため、スナップショット時のテーブルの構造を捕捉します。DataStaxサポート・ナレッジ・ベースの記事「特定時点およびテーブル・レベルの復元を使用した手動バックアップと復元」を参照してください。
構文
nodetool [connection_options] snapshot [--table table_name | -kt keyspace_name.table_name,...] [-sf] [-t snapshotname] [--] [keyspace_name [keyspace_name...]]
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
Italics |
変数値。有効なオプションまたはユーザー定義値と置き換えます。 |
[ ] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key:value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型をカンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[ -- ] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ...</schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrconfigファイル内のXML要素を上書きする実体とリテラル値を示します。 |
定義
短い形式と長い形式のパラメーターはカンマで区切られています。
接続オプション
- -h, --host hostname
- リモート・ノードのホスト名またはIPアドレス。省略した場合、デフォルトはローカル・マシンです。
- -p, --port jmx_port
- JMXポート番号。
- -pw, --password jmxpassword
- セキュアなJMXで認証するためのJMXパスワード。パスワードを入力しないと、入力するように求められます。
- -pwf, --password-file jmx_password_filepath
- JMX認証用の資格情報を格納するファイルへのファイルパス。
- -u, --username jmx_username
- セキュアなJMXで認証するためのユーザー名。
コマンド引数
--
- オプションと間違えられる可能性のある引数とオプションを区切ります。
- --table, -cf, --column-family table_name
- 指定されたキースペースのテーブル名。
- -kt, --kt-list, -kc, --kc.list keyspace_name.table_name,...
- カンマの後にスペースを付けないkeyspace_name.table_nameのカンマ区切りのリスト。例:
cycling.cyclist,basketball.players
- -sf, --skip_flush
- スナップショットが作成されるまでテーブルをフラッシュしません。 注意: スナップショットには、フラッシュされていないデータは含まれません。
- -t snapshotname, --tag snapshotname
- スナップショットのファイルパス。指定しないと、ディレクトリー名に現在の時刻が使用されます。たとえば、
1489076973698
です。
例
ノード上のすべてのキースペースのスナップショットを取得します。
nodetool snapshot
メッセージは、スナップショット・ディレクトリーの名前が付いた状態で表示されます。
Requested creating snapshot(s) for [all keyspaces] with snapshot name [1489076973698] and options {skipFlush=false}
Snapshot directory: 1489076973698
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
2つのテーブルを持つ単一のキースペースのスナップショットを取得します
cyclingキースペースには、cyclist_nameおよびupcoming_calendarの2つのテーブルが含まれます。このスナップショットは、cycling_2017-3-9という名前の複数のスナップショット・ディレクトリーを作成します。データを含む多数の.dbファイルは、テーブル・スキーマとともにこれらのディレクトリーに配置されます。たとえば、DSEインストール・ディレクトリーから以下を実行します。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
複数のキースペース(mykeyspaceとcycling)のスナップショットを取得します
nodetool snapshot mykeyspace cycling
Requested creating snapshot(s) for [mykeyspace, cycling] with snapshot name [1391460334889]
Snapshot directory: 1391460334889
単一テーブルのスナップショットを取得します
cyclingキースペース内のcyclist_nameテーブルのみのスナップショットを取得します。
nodetool snapshot --table cyclist_name cycling
Requested creating snapshot(s) for [cycling] with snapshot name [1391461910600]
Snapshot directory: 1391461910600
結果のスナップショット・ディレクトリー1391461910600は、data/cycling/cyclist_name-a882dca02aaf11e58c7b8b496c707234/snapshotsに作成され、データ・ファイルとcyclist_nameテーブルのスキーマが含まれます。
異なるキースペースの複数のテーブルのスナップショットを取得します
cyclingキースペースのcyclist_nameテーブルおよびtestキースペースのsample_timesテーブルのスナップショットを取得します。コマンド引数を-ktにすると、スペースのないコンマ区切りリストの表をリストします。
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