9

生成にコストがかかるデータが入力されたキースペースがあります。クラスター内にこのデータの 2 つのコピーが必要です。mydata最終的に 2 つのキースペースを作成したいと思います: それらとを呼び出しますmydatabackup。どちらにも同じデータが含まれています (Cassandra のタイムスタンプが異なっていてもかまいません)。

これを行う簡単な方法はありますか?答えに最も近いのは、sstable2json と json2sstableを同様の質問への回答で提案されているように使用することです。より良い方法はありますか?

4

1 に答える 1

7

「何か良い方法はありますか?」

すべての Cassandra データは data/ フォルダーに保存されます ( cassandra.yamlの構成値data_file_directoriesを確認してください)。また、 saved_caches_directoryおよびcommitlog_directory構成を確認することもできます。

データフォルダー内には、

  1. キースペースごとに 1 つのフォルダー

  2. システム キースペース用の 1 つのフォルダー

  3. 認証などのためのいくつかのフォルダ..

    各キースペース フォルダー内には、

  4. *-実際のデータを含む Data.db ファイル

  5. *-Filter.db ファイル

  6. *-インデックス用のIndex.dbファイル

  7. ...

データをレプリケートするには、それらのフォルダーの単純なコピーを作成します。

私たちのチームでは、運用担当者が crontab を使用して、この方法で Cassandra データの定期的なバックアップをスケジュールしています。

注: 場合によっては、まだメモリ内または memtable 内にあり、まだディスクにフラッシュされていないライブ データを見逃すことがあります。データ ファイルをバックアップする前に、完全な圧縮を開始できます。ただし、完全に圧縮するとパフォーマンスが低下する可能性があるため、注意してください


より良い答え: 提供されたツールを使用して、DB のスナップショットを作成します。

http://www.datastax.com/docs/1.0/operations/backup_restore

于 2013-09-13T19:02:47.157 に答える