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
1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
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.yamlclient_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