2017-01-23 1 views
1

私のカサンドラクラスタは3つのアベイラビリティゾーンにレプリケートされているため、バックアップコストを下げるために1つのアベイラビリティゾーンのみをバックアップします。私はまた、単一の可用性ゾーンでノードを復元することを実験し、テスト環境で自分のデータの大部分を取り戻しました。このソリューションを実稼働環境に導入する前に、このアプローチに欠点があるかどうかを知りたいと思います。あなたのプロダクションクラスタでこのアプローチに従う人はいますか?私たちは、AZレプリケートされたカサンドラクラスタの1つのアベイラビリティゾーンのみをバックアップできますか?

注:定期的にバックアップするので、私はスナップショット時に他の2つのAZノードクォーラムに起こった更新を緩和する可能性があることを知っていますが、それは問題ではありません。

答えて

0

特定のDCまたはノードだけをバックアップできます。 AFAIK、唯一の欠点は、データの一貫性/最新性です。データを失う可能性があるため、問題ではありません。たとえば、すべての一貫性レベルで書き込みを実行する場合、データはすべてのノードで最新のものにする必要があります。

しかし、ラック/ dcプロパティで再生するか、またはマルチa-zをサポートするec2スイッチを使用して、データがマルチa-z間で実際に複製されていることを確認する必要があります。

EDIT:

グローバル・スナップショット

実行nodetoolスナップショットは一度に一つのノード上で実行されます。 これは、データ全体の部分バックアップを作成するだけです。クラスタ内のすべてのノードでnodetoolスナップショットを実行するには、 が必要です。しかし、 時刻の観点からは、 断片化されたデータを持たないように、同じ時刻にそれらを実行することをお勧めします。あなたは 異なる方法のこれを行うことができます。最初は、並列sshプログラムを使用して、 と同時にnodetool snapshotコマンドを実行することです。第2の は、各ノードで同時に実行するcronジョブを作成することです。 2つ目は、ノードに同期しているクロックがあることを前提としています。この場合、 カサンドラにも依存しています。ページへ

リンク: http://datascale.io/backing-up-cassandra-data/

+0

ありがとう!これを述べた公式のドキュメンテーション/ブログに私を指摘できますか? – theeminence

+0

"docs"へのリンクを追加しました。 cassandraスナップショットはノードレベルで実行される単なるハードリンクなので、バックアップするものはあなた次第です。 – nevsv

関連する問題