DBAtlas · Атлас эксплуатации баз данных

translog_corrupted_exception: translog_corrupted_exception

Elasticsearch

Что это значит?

Журнал транзакций (translog) шарда не удалось прочитать, так как он повреждён. Во время восстановления Elasticsearch обнаружил, что translog не прошёл проверку целостности, и шард не смог запуститься.

Почему возникает?

Файлы translog обычно повреждаются из-за внезапной потери питания, заполненного диска, ошибки файловой системы, отказа оборудования/диска или внешних операций с каталогом данных (копирование, ручное вмешательство). Причиной также могут быть частично завершённые записи при принудительной остановке (kill -9).

Как исправить

Сначала попробуйте восстановить данные из реплики или снимка; если существует исправная копия, пересоздание повреждённого шарда из неё — самый безопасный путь. Если другой копии нет и вы принимаете потерю данных, остановите узел и очистите повреждённый translog/данные с помощью bin/elasticsearch-shard remove-corrupted-data --index <index> --shard-id <n> (это безвозвратно теряет ещё не зафиксированные данные; старый инструмент elasticsearch-translog удалён в 7.0). Инструмент выводит команду POST _cluster/reroute (allocate_stale_primary, accept_data_loss: true), необходимую для размещения шарда после перезапуска узла. Перед операцией сделайте бэкап каталога данных. Проверьте состояние диска и свободное место.

Открыть в DBAtlas →

Ещё по этой СУБД