Как восстановить данные, удаленные с помощью усечения в Кассандре - PullRequest
0 голосов
/ 25 мая 2018

Я случайно обрезал таблицу в Кассандре.Я хотел бы знать, есть ли какой-либо инструмент для восстановления данных в нем.Любая помощь будет оценена.Спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

auto_snapshot (по умолчанию: true)

Делает ли Cassandra снимок данных перед усечением пространства клавиш или удалением таблицы.Чтобы предотвратить потерю данных, DataStax настоятельно рекомендует использовать настройку по умолчанию.Если для auto_snapshot установлено значение false, потеря данных происходит при усечении или отбрасывании.

(взято из https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configCassandra_yaml.html)

Если вам повезло, посмотрите каталоги снимков для вашего старогоsstables. Для восстановления их «только» нужно скопировать обратно в их исходные местоположения.

Вот что происходит:

./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, чтобы перечитать таблицы (конечно, с вашим пространством ключей и столбцом)..

...