Облачная платформаAdvanced

Настройка корзины восстановления индексов для кластера Elasticsearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В кластерах Elasticsearch индексы удаляются без предварительного помещения в корзину. Чтобы пользователи могли восстановить данные после ошибочного удаления, CSS предоставляет корзину восстановления индексов. Как и другие корзины, корзина восстановления индексов временно хранит удалённые индексы, чтобы пользователи могли их восстановить до окончательного удаления из корзины. Это помогает повысить надёжность данных кластера.

Ограничения

  • Только кластеры Elasticsearch 7.10.2 поддерживают корзину восстановления индексов.
  • При включённой корзине восстановления индексов после использования DELETE API для перемещения индекса в корзину статус кластера может оставаться RED в течение короткого периода времени. Это происходит потому, что помещение индекса в корзину закрывает его, и статус кластера Elasticsearch становится RED, когда имеются закрытые индексы.
  • Когда используется API восстановления для восстановления индекса из корзины, статус кластера также может оставаться RED в течение короткого периода времени. Это происходит потому, что восстановление индекса из корзины приводит к его повторному открытию, и в этот момент Elasticsearch необходимо переинициализировать шард. Это приводит к кратковременному переходу статуса кластера в RED.
  • Индексы, хранящиеся в корзине, всё ещё являются частью метаданных кластера. Пока они не удалены из корзины, индексы с тем же именем нельзя создать для кластера.

Включение корзины индексов

Выполните следующую команду, чтобы включить корзину индексов:

PUT _cluster/settings
{
"persistent": {
"index.trash.enabled": true
}
}
Таблица 1 Элементы конфигурации

Элемент конфигурации

Описание

index.trash.enabled

Определяет, включена ли корзина индексов. Значение по умолчанию false. Эта настройка совместима с открытым Elasticsearch. Установка этого параметра в true включает корзину индексов. После удаления индекса он сохраняется в корзине. Нужно удалить индекс повторно, чтобы окончательно удалить данные индекса.

indices.trash.keep.time

Продолжительность хранения индексов в корзине. Значение по умолчанию 1d, что означает, что индексы будут храниться в корзине в течение одного дня до их окончательного удаления. Минимальное значение 1d.

Note

Следующая команда удаляет индекс:

DELETE {INDEX_NAME}

INDEX_NAME указывает имя индекса, который будет удалён. Для указания индексов можно использовать подстановочные знаки.

Просмотр индексов в корзине

Выполните следующую команду, чтобы просмотреть индексы в корзине индексов:

GET _cat/trash?v=true&s=index
Таблица 2 Параметры

Параметр

Описание

v

Отображать ли заголовок таблицы, когда формат возврата — таблица.

  • true: отображать заголовок таблицы.
  • false: не отображать заголовок таблицы.

Значение по умолчанию false.

s

Поля сортировки индекса. Параметры включают индекс, uuid, pri, rep, trash.ts, и delete.time.

формат

Формат возврата команды. Формат по умолчанию — table. Другие варианты включают json, yaml, cobr и smile. cobr и smile являются бинарными форматами.

h

Задайте имена столбцов для отображения. По умолчанию отображаются все имена столбцов. Чтобы указать имена столбцов, которые нужно отобразить, разделите их запятыми (,), например, h=index,uuid,delete.time.

Следующее является примером вывода.

index uuid pri rep trash.ts delete.time
index1 CMD3FCLzTOyTg4RUekWNNA 1 1 1714465116615 23.6h
index1 6ATijuu6SfqamVI-WMyOKg 1 1 1714466233898 23.9h
Таблица 3 Параметры в выводе

Столбец

Описание

индекс

Имя индекса

uuid

UUID индекса

pri

Количество шардов индекса

rep

Количество реплик индекса

trash.ts

Время, когда индекс был перемещён в корзину

delete.time

Оставшееся время удержания индекса в корзине. Когда значение изменяется на 0, индекс удаляется навсегда.

Восстановление индекса из корзины

Выполните следующую команду, чтобы восстановить индекс из корзины:

POST /trash/recover/{INDEX_NAME}

INDEX_NAME указывает имя индекса, который необходимо восстановить. Можно использовать подстановочные знаки для указания индексов.

Очистка корзины

Выполните следующую команду, чтобы очистить корзину:

POST trash/empty

Опустошение корзины приведет к безвозвратному удалению всех данных в ней. Пожалуйста, будьте осторожны.