2016-09-26 6 views
1

カサンドラクラスターにはそれぞれ2つのノード、合計6つの領域がありました。次に、3つの領域が追加され、合計で12のカサンドラノードがクラスタに追加されました。ノードを追加した後、レプリケーションファクタを更新してノードデール修復を開始しました。しかし、コマンドは48時間以上掛かっており、まだ完了していない。ログの1または2を調べると、一部のCFが完全に同期されていないため、AntiEntropySessionsがまだ保留中です。すべてのAntiEntropySessionsは、すべてのCFのすべてのノードから正常にMerkleツリーを取得しています。しかし、いくつかの修理ではいくつかのノードでいくつかのCFが完了していないので、保留中のAntiEntropySessionsが発生し、修理が掛かっています。カサンドラ:ハンギングノードツールの修復

カッサンドラ1.1.12を使用しています。今カッサンドラをアップグレードすることはできません。 ノードを再起動して修復を再開しましたが、それでもハングします。 修復中にアクティブな最初の3つの領域で頻繁に読み書きを行う1つのCFが、常に完全に同期していないことが確認されています。

修復を実行しているうちに、どのCFでも読み書きがあってはいけないことは必要ですか? ORここに問題がありますか?

答えて

1

カサンドラ1.1は非常に古いので、正確な問題を覚えていませんが、ストリーミングで問題が発生してハングアップする可能性がありました。ある原因は、読み取りがタイムアウトしたか、接続がリセットされたようなものでした。あなたは1.1.11を過ぎているので、部分的な修理を試してみてください。

1時間以内に修復できる適切なトークン範囲を見つけようとします(完了するまで、より小さな範囲を実行し続けます)。数時間のタイムアウトを設定してください。いくつかの修理が失敗する(タイムアウト)ことを期待して、完了するまでそれらを再試行してください。多くの再試行の後にそれを得ることができない場合は、そのサブレンジを小さくし続けますが、非常に幅の広いパーティションを持っていると問題が発生する可能性があります(nodetool cfstatsで確認できます)。

修復が完了したら、狂ったようにアップグレードしてください。

+0

ありがとうございました。サブレンジの修復は、特定のトークン範囲を修正するのに役立ちました。 –

関連する問題