sstablerepairedset
修復は、データサイズが大きい一部の環境では非常に時間がかかる場合があります。このツールを使用して、特定のSSTableセットのrepairedAtステータスを設定し、必要に応じて、修復されていないSSTableのみに対して修復を実行できるようにします。
修復の実行(例:nodetool repairによる)では、このメタデータのステータスは設定されないことに注意してください。このツールを介してこのメタデータのステータスを設定する場合のみです。
このツールを実行する前にCassandraを停止する必要があります。そうしないと、予期しない結果が発生します。注: スクリプトはCassandraが停止していることを検証しません。
使用法
sstablerepairedset --really-set <オプション> [-f <sstable-list> | <sstables>]
--really-set |
ステータスを実際に設定する場合は必須 |
--is-repaired |
repairedAtステータスを最終変更時刻に設定 |
--is-unrepaired |
repairedAtステータスを0に設定 |
-f |
入力としてSSTableのリストを含むファイルを使用 |
多数のSSTableを修復されていないステータスに設定
これをプログラムで実行する方法はたくさんあります。この方法では、キースペースとテーブルの変数が含まれる可能性があります。
例
find /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/* -name "*Data.db" -print0 | xargs -0 -I % sstablerepairedset --really-set --is-unrepaired %
1つまたは複数のSSTableを修復済みのステータスに設定
修復後にrepairedAtステータスを設定して、SSTableを修復済みとしてマークします。ここでも、キースペースとテーブル名の変数を使用することをお勧めします。
例
nodetool repair keyspace1 standard1 find /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/* -name "*Data.db" -print0 | xargs -0 -I % sstablerepairedset --really-set --is-repaired %
修復ステータスを表示するメタデータの出力
sstablemetadataを使用すると、このコマンドを使用して設定または設定解除されたステータスを表示できます。
例
sstablerepairedset --really-set --is-repaired /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/mc-1-big-Data.db sstablemetadata /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/mc-1-big-Data.db | grep "Repaired at" Repaired at: 1534443974000
sstablerepairedset --really-set --is-unrepaired /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/mc-1-big-Data.db sstablemetadata /var/lib/cassandra/data/keyspace1/standard1-d936bd20a17c11e8bc92a55ed562cd82/mc-1-big-Data.db | grep "Repaired at" Repaired at: 0