поврежденный / неназначенный индекс elasticsearch

#elasticsearch #elasticsearch-7

#elasticsearch #elasticsearch-7

Вопрос:

Я довольно долго запускал службу Elasticsearch, но внезапно столкнулся со следующим

Вызвано: org.elasticsearch.index.translog.Исключение TranslogCorruptedException: перевод журнала из источника [d:elasticsearch-7.1.0datanodes ]indexesA2CcAAE-R3KkQh6jSoaEUA2 translog translog-1.tlog] поврежден, ожидаемый UUID сегмента […….], но получил: [………..] этот файл translog принадлежит другому translog.

Я выполнил GET /_ca /shards?v, и большинство индексов находятся в НЕНАЗНАЧЕННОМ состоянии.

Пожалуйста, помогите!

Я просмотрел файлы журнала и увидел сообщение об ошибке «Не удалось обновить информацию о сегменте для ClusterInfoUpdateJob в течение 15 секунд ожидания», может ли это сообщение об ошибке привести к тому, что большинство сегментов станут НЕНАЗНАЧЕННЫМИ?

Ответ №1:

Вы можете попытаться восстановить с помощью elasticsearch-translog инструмента, как описано в документации

  1. Elasticsearch следует остановить при запуске этого инструмента
  2. Если у вас нет реплики, из которой можно восстановить данные, вы можете потерять некоторые данные с помощью этого инструмента.
  3. Причина указана в ошибке диска или ошибке пользователя.

Комментарии:

1. Привет, я использую Elasticsearch версии 7.1, не удалось использовать elasticsearch-translog

2. @xxestter для Elasticsearch 7.1 вы можете использовать, elasticsearch-shard который elasticsearch-translog был переименован.

3. Следуя моему предыдущему комментарию, я полагаю, что это изменение имен произошло в версии 6.5, потому что это первый раз, когда оно появляется в разделе «инструменты командной строки» их документации. elastic.co/guide/en/elasticsearch//reference/6.5 /…