2017-10-03 10 views
1

私たちはcassandra 2.1.14を使用しています。現在、大きなパーティション警告がsystem.hintsテーブルに表示されます。カサンドラシステムは大きなパーティションを暗示します

system.hintsテーブルにワイドパーティションがないことを確認する方法はありますか。 今はcassandra 3にアップグレードしたくないことに注意してください。

定期的にsystem.hintをクリーンアップする方法はありますか?

これは、cassandraクラスタのI/Oスパイクを引き起こしますか?

ログ:system.hintsテーブルが広いのパーティションを持っていないことを確認する方法

Compacting large partition system/hints: 
10ad72eb-0240-4b94-b73e-eb4dc2aa759a (481568345 bytes) 
+3

https://www.slideshare.net/ClmentLARDEUR/deep-into-cassandra-data-repair-mechanisms –

+0

ヒントテーブルのクリーンアップには、デフォルトの3時間のTTLが必要です。 – raam86

+0

ヒントテーブルがなぜそんなに大きいのか不思議でした。長期間ノードがダウンしましたか?クラスタが完全に機能したら、ヒントが正しいノードに渡され、次にTTLされてテーブルから抜け出るはずです。 – LHWizard

答えて

3

あなたはそれについて実際にはできません。 system.hintsは、ターゲットノードのhostIDであるtarget_idでパーティション化されています。 1つのノードに対して10000のヒントが蓄積されていれば、他の場所に行くことはできません。

定期的にsystem.hintをクリーンアップする方法はありますか?

上記のように、ヒントは3時間後にTTLでなければなりません。このフェイルセーフは、system.hintsテーブルが制御不能にならないようにするためのものです。しかし、それはまったくばかばかしいことではありません。

一つ確認するための方法、nodetoolを経由してそれらをクリアするには、次のようになりますカサンドラクラスタ内

nodetool truncatehints 

ウィルは、この原因I/Oスパイク?

nodetool truncatehintsはかなり無害です。私は前にそれを実行するスパイクに気づいていない。

+0

答えをありがとう。私の質問は、I/Oスパイクはsystem.hints大きなパーティションによって引き起こされるでしょうか? – Knight71

関連する問題