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), необходимую для размещения шарда после перезапуска узла. Перед операцией сделайте бэкап каталога данных. Проверьте состояние диска и свободное место.
Ещё по этой СУБД
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded
- verification_exceptionverification_exception: Found N problem(s) — Unknown column / Unknown index (ES|QL, SQL, EQL)
- bind_transport_exceptionbind_transport_exception (Address already in use)
- recovery_engine_exceptionrecovery_engine_exception
- snapshot_in_progress_exceptionsnapshot_in_progress_exception
- repository_verification_exceptionrepository_verification_exception
- reduce_search_phase_exceptionreduce_search_phase_exception