Cassandra ドキュメント

バージョン

プレリリース版のドキュメントを表示しています。

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

スクリプトでのコマンドの使用

2週間前に修復を実行したことがわかっている場合は、次のようなことができます。

sstablerepairset --is-repaired -f <(find /var/lib/cassandra/data/.../ -iname "*Data.db*" -mtime +14)