bugfix> cassandra > 投稿

Cassandraで誤ってテーブルを切り捨てました。データを復元するためのツールがあるかどうかを知りたいです。任意の助けをいただければ幸いです。ありがとう。

回答 1 件
  • auto_snapshot (Default: true)

    Whether Cassandra takes a snapshot of the data before truncating a keyspace or dropping a table. To prevent data loss, DataStax strongly advises using the default setting. If you set auto_snapshot to false, data loss occurs on truncation or drop.

    (https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configCassandra_yaml.htmlから取得)

    運がよければ、古い安定版のスナップショットディレクトリを調べてください。復元するためには、元の場所に「のみ」コピーする必要があります。

    ここで何が起こるかです:

    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/backups
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Data.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Index.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Filter.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Summary.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Digest.crc32
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-CompressionInfo.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-Statistics.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/mc-1-big-TOC.txt
    
    

    その後、 TRUNCATE demokeyspace.demo を発行しました  -その後、次のようになります。

    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/backups
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Summary.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-TOC.txt
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Digest.crc32
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Filter.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-CompressionInfo.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Index.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Data.db
    ./data1/demokeyspace/demo-0d1a38b05fe211e8875d13cbb58d64f2/snapshots/truncated-1527228644868-demo/mc-1-big-Statistics.db
    
    

    それらのファイルをコピーして戻すだけです。ただし、すべてのノードでこれを実行して nodetool refresh demokeyspace demo を実行する必要があることに注意してください  その後、テーブルを再読み込みします(もちろん、キースペースとカラムファミリーを使用して)。

あなたの答え