2017-01-24 6 views
3

最近、私たちはCassandraノード(複製係数3の5 Cassandra 2.2クラスタ)でディスク障害を起こしました。そのノードで完全修復を実行するのに約1週間以上かかりました。各ノードには3/5のデータが含まれ、すべてのノードで3/5のトークン範囲が修復されます。修復されたので、増分修復を行ったため、修復が早くなりました。私は、すべてのノードでnodetool repair -prを使って定期的な修復を行うのが良いアイデアかどうか疑問に思っています(私たちは2.2であり、インクリメンタル修復はデフォルトで2.2です)。周期的なキャンドラ修復を行うことを推奨しますか?

定期的に実行すると、修復されていないSStablesを修復するだけで済むため、修復にかかる時間が短くなるため、いいアイデアだと思います。私たちはまた、ヒントを与えられたハンドオフ・ウィンドウよりもノードがダウンしている可能性があり、おそらくそれについて何もしなかったかもしれない。

答えて

4

はい、スケジュールされた増分修復を実行することをお勧めします。 gc_grace_seconds設定で指定された時間に達する前に、すべてのノードが修復されるように頻繁に修復を実行します。

0

また、増分修復を頻繁に実行しても、完全修復と組み合わせて月/週ごとに1回少ない頻度で実行するとよいでしょう。インクリメンタル修理は以前修理済みではなかったSSTableを修理しますが、完全修理はSSTable腐敗のようなより包括的なケースに注意を払うことができます。データストアから参照を確認してください:https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsRepairNodesWhen.html

関連する問題