sstablescrub

nodetool scrubのオフライン・バージョン。破損していないデータを保存しつつ、破損した部分の除去を試みます。

sstablescrubユーティリティは、nodetool scrubのオフライン・バージョンです。破損していないデータを保存しつつ、破損した部分の除去を試みます。Sstablescrubはオフラインで実行されるため、nodetool scrubでは修正できないエラーを修正できます。SSTableが破損して読み込めない場合は、ディスクに残します。

再構築の結果、行が削除されても、新しいSSTableは未リペアになります。しかし、不良な行が検知されない場合、SSTableは、リペアの時刻を表すrepairedAtフィールドを元のまま保持します。

手順

  1. sstablescrubを使用する前に、nodetool scrubを使用してテーブルを再構築してみてください。

    nodetool scrubで問題が修正されない場合に、このユーティリティを使用します。

  2. ノードをシャットダウンします
  3. ユーティリティを実行します。
    $ sstablescrub [オプション] keyspace table
    tarボールおよびInstaller-No Servicesのパス:
    installation_location/resources/cassandra/bin
    表 1. オプション
    フラグ オプション 説明
    --debug スタック・トレースを表示します。
    -h --help ヘルプを表示します。
    -m --manifest-check SSTableを実際に再構築せずに、レベル化しているマニフェストのみをチェックし、リペアします。
    -s --skip-corrupted カウンター・テーブル内の破損した行をスキップします。
    -v --verbose 詳細出力。