#cassandra #snapshot
#cassandra #моментальный снимок
Вопрос:
Я восстанавливаю удаленные данные таблицы из моментального снимка cassandra. Вот что я делаю: регистрируюсь на первом узле. Извлечение всех файлов из моментального снимка и копирование их в каталог табличных данных. Выполнение
nodetool refresh <keyspace> <table>
и данные отображаются нормально на этом узле, но не передаются другим в кластере.
Я знаю, что причина может быть связана с временными метками в записях, поэтому, используя совет, я пытаюсь удалить данные в таблицах, выполнив
TRUNCATE <table>
на узле, предшествующем этому процессу, но с теми же результатами.
Ответ №1:
Вы пробовали полное восстановление nodetool на других узлах?
Вам нужно будет выполнить один и тот же процесс обновления на всех узлах, поэтому после этого таблица должна появиться на всех узлах.
Ответ №2:
Я знаю, что это быстрое и грязное решение, но когда я сталкиваюсь с этой проблемой, мое решение было:
COPY Usuario (id , usuarioId, organizacionId, descripcion, estado , ultimoCambio, json , sesion) TO 'Usuario.csv';
COPY Usuario (id , usuarioId, organizacionId, descripcion, estado , ultimoCambio, json , sesion) FROM 'Usuario.csv';
И я предпочитаю создавать резервные копии этих csv, чем моментальных снимков. При выполнении этого процесса строки воссоздаются и правильно копируются на каждый узел в кластере.
Комментарии:
1. загрузчик sstableloader ( docs.datastax.com/en/cassandra/3.0/cassandra/tools /… ) может дать вам такую же функциональность.