2017-05-31 12 views
0

一般的な質問: 異なるCassandra JBODフォルダ(Cassandraを再起動してシングルノード内にある)にあるテーブルフォルダ間でdbファイルを移動することは安全ですか?手動でCassandra JBODフォルダ間でデータを移動する

特定の質問: 私はCassandraクラスタでバックアップを設定しました。 Amazon S3に保存されたすべてのJBODディスク、スキーマ、およびリング情報からのスナップショット。そして今、私はクラスタをゼロから回復する可能性を検討しています。

initial_tokens設定プロパティ - このノードで復元されたトークンに関するノードを認識させます。しかし、JBODフォルダ間でデータがどのように広がっているかに関する情報を何とか指定する必要がありますか?または、スタートアップのCassandraがすべてのファイルからBloomフィルタをフェッチし、このファイルがどのJBODフォルダに格納されているかは問題になりませんか?

答えて

1

はいノードがオフラインの間は安全です。ノードをオフにし、ファイルを移動してバックアップを開始するだけです。

バックアップからスティールを取り出して別のクラスタに入れることができます。トークンの割り当てが同じになることを心配する必要があります。さもなければ、あなたがノードに置いたステーブルは、ノードが保持すると期待されるデータではないかもしれません。これに対するアプローチは、http://datascale.io/cloning-cassandra-clusters-fast-way/で説明されています。ソースクラスタ

nodetool ring | grep 0.0.0.0 | awk '{print $NF ", "}' | xargs | cut -d '=' -f 2 | sed 's/,$//' | sed 's/^/initial_token: /' > /tmp/tokens.txt 

からトークンをコピーし、それを宛先クラスタの対応するノードのcassandra.yamlに入れることができます。設定中auto_bootstrap: false

これは、トークン範囲をディスクなどに割り当てることを開始しても、将来変更される可能性があります。

関連する問題