2017-09-25 15 views
0

私は3つのノードからなるカサンドラ2.2.8クラスタを1つのデータセンターで運用しています。レプリケーションファクタは3です。カサンドラデータの同期と完全修復

古いバックアップからノードの1つを回復する必要がありました。バックアップを回収した後、私は最新のデータを同期するために、完全な修復を実行しましたが、回復したノードが他より少ないデータを持っているようだ:

enter image description here

どのようにデータの同期を強制することができますか?

+0

トポロジの変更と修復後に 'nodetool cleanup'を実行しましたか? –

答えて

0

フル修理を行うと、system.logをチェックしている可能性があります。そこに修理に関して何かエラーがありますか?その場合は、エラーをデバッグして修正してください。

それ以外の場合は、回復したノードでnodetool verifyを実行して修復しても破損していないかどうかを確認することです。

何も問題がなければ、多くの可能性があり、クラスタに関する知識がなければデバッグすることは難しいです。カッサンドラはまた、すべてのデータが一貫しているかどうかについて直接的な考えを持っていません。

多分あなたがすでに置いたオブジェクトの数を知っていれば、すべてのデータテーブルを数えるためにcqlshコマンドを実行して、本当にデータが失われているかどうかを確認できますか?