Не удалось прочитать дескриптор журнала фиксации в файле

Я начал использовать cassandra 3.7, и у меня всегда были проблемы с журналом коммитов. Например, когда компьютер неожиданно закончился отключением электроэнергии, служба cassandra не перезапускается. Пытаюсь запустить из командной строки, но всегда появляется ошибка cassandra could not read commit log descriptor in file.

Мне нужно удалить все журналы коммитов, чтобы запустить службу cassandra. Проблема в том, что я теряю много данных. Я попытался увеличить коэффициент репликации до 3, но это то же самое.

Что я могу сделать, чтобы уменьшить количество потерянных данных?

pd: У меня только один компьютер для использования базы данных cassandra, добавить больше компьютеров невозможно.


person Ezequiel Trapani    schedule 02.01.2017    source источник


Ответы (1)


Я думаю, что ваш вариант здесь - обойти проблему, поскольку маловероятно, что существует гарантированное решение для предотвращения повреждения файлов таблицы коммитов при внезапном отключении питания. Поскольку у вас есть только один узел, восстановить данные будет сложнее. Увеличение коэффициента репликации до 3 на кластере с одним узлом не поможет.

Одна вещь, которую вы можете попробовать, — это уменьшить частоту сброса memtables. При сбросе memtable записи в журнале коммитов удаляются, что уменьшает количество потерянных данных. Подробности здесь. Однако это не решит корневую проблему

person Nishant    schedule 02.01.2017
comment
Я попытаюсь изменить это значение, чтобы cassandra чаще сбрасывала memtable на диск. У меня есть база данных, установленная на ПК с оперативной памятью 4 ГБ, какой будет правильная конфигурация? - person Ezequiel Trapani; 02.01.2017