sstablescrub
指定されたテーブルのSSTableを再構築します。
cassandra.yaml
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra.yaml |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra.yaml |
指定されたテーブルのSSTableを再構築します。
sstablescrubユーティリティは、nodetool scrubのオフライン・バージョンです。破損していないデータを保存しつつ、破損した部分の除去を試みます。Sstablescrubはオフラインで実行されるため、nodetool scrub
では修正できないエラーを修正できます。SSTableが破損して読み込めない場合は、ディスクに残します。
再構築の結果、行が削除されても、新しいSSTableは未リペアになります。しかし、不良な行が検知されない場合、SSTableは、リペアの時刻を表すrepairedAt
フィールドを元のまま保持します。
制約事項: このコマンドを実行する前に、DataStax Enterpriseを停止する必要があります。
構文
sstablescrub [--debug] [-h] [-m] [-n] [-r] [-s] [-v] keyspace_name table_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要素を上書きする実体とリテラル値を示します。 |
定義
短い形式と長い形式のパラメーターはカンマで区切られています。
コマンド引数
- --debug
- スタック・トレースを表示します。
- -h, --help
- コマンドの使用状況およびリストを表示します。
- keyspace_name
- キースペースの名前。必須。cassandra.yamlのclient_encryption_optionsをオーバーライドします。
- -m, --manifest-check
- レベル化しているマニフェストのみをチェックし、リペアします。SSTableの再構築は行いません。
- -n, --no-validate
- カラム・バリデーターを使用したカラムの検証を行いません。
- -r, --reinsert-overflowed-ttl
- CASSANDRA-14092の影響を受けてオーバーフローした有効期限の行を、最大サポート有効期限の2038-01-19T03:14:06+00:00を使用して書き直します。行は、影響を受けた行のコンパクション中に生成された可能性のあるトゥームストーンをオーバーライド/上書きするように、元のタイムスタンプをミリ秒単位で増加して書き直されます。「TTLの2038年問題により発生した期限切れのデータの復元」を参照してください。
- -s, --skip-corrupted
- カウンター・テーブル内の破損した行をスキップします。
- table_name
- テーブル名。必須。
- -v,--verbose
- 詳細出力。
例
DataStax Enterpriseが実行中でないことを確認します
nodetool status
Datacenter: Graph
================================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.200.177.92 265.04 KiB 1 ? 980cab6a-2e5d-44c6-b897-0733dde580ac rack1
DN 10.200.177.94 426.21 KiB 1 ? 7ecbbc0c-627d-403e-b8cc-a2daa93d9ad3 rack1
制約事項: このコマンドを実行する前に、DataStax Enterpriseを停止する必要があります。
calendarテーブルのSSTableを再構築します
sstablescrub cycling calendar