2017-01-03 14 views
2

現在、1つのデータセンターに5ノードのクラスタCassandra 2.1.13があります。 私はこのクラスタでメンテナンス操作を行うつもりです。 私はそれをノードごとに行います。Cassandraがクラスタを再起動してメンテナンスを実行します

シャットダウンする前にノード、私は、「disablegossip、disablehandoffをし、ドレイン」nodetool cmdを実行は、ノードの起動を後押しする:

は、私は別の文脈で、以下の3つのシナリオを想像してみてください。

1 - ノードが「max_hint_windows_in_ms」よりダウン小さい場合、私は別のアクション

2ずにノードを開始することができます - ノードが「max_hint_windows_in_ms」と修理窓未満「gc_grace_seconds」よりもダウンしている場合、私は完全に修復してノードを起動します

3 - ノードが修復ウィンドウを下回っている場合、再投与データを避けるためにノードを置き換えます。

これらのシナリオは正しいですか? それはあなただったら何ですか?

答えて

2

起動する前にgc_grace_secondsを増やすことができます。ポストC * 3.0を使用している場合は、idもHHウィンドウを増加させますが、2.1の場合はそれが良いアイデアではありません。

適切なノードのシャットダウンではディスエーブルとドレインが処理されますが、確かめたい場合は、gossip/HHの前にリザーブとネイティブトランスポートを無効にしてください。トランスポートの前にゴシップを無効にすると、クライアントアプリケーションは、クラスタを終了した後に動作しないリクエストに対して、そのノードをコーディネータとして使用しようとする可能性があります。

+0

OK、私は最初のバイナリ、倹約と最後のゴシップを無効にします。ありがとう –

関連する問題