Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›API индексов

API восстановления индекса

Возвращает информацию о текущем и завершенном восстановлении фрагментов для одного или нескольких индексов. Для потоков данных API возвращает информацию для базовых индексов потока.

GET /my-index-000001/_recovery

Запрос

GET /<target>/_recovery

GET /_recovery

Предварительные условия

  • Если включены функции безопасности Elasticsearch, у вас должна быть monitor или manage привилегия доступа к индексу для целевого потока данных, индекса или псевдонима.

Описание

Используйте API восстановления индекса, чтобы получить информацию о текущем и завершенном восстановлении фрагментов.

Восстановление фрагментов — это процесс синхронизации фрагмента реплики с первичным фрагментом. После завершения фрагмент реплики будет доступен для поиска.

Восстановление автоматически происходит во время следующих процессов:

  • Запуск узла. Этот тип восстановления называется восстановлением локального хранилища.
  • Репликация первичного фрагмента.
  • Перемещение фрагмента на другой узел в том же кластере.
  • Операция восстановления из снимка.
  • Операции клонирования, сжатия или разбиения индекса.

Параметры пути

<target>
(Необязательно, строка) Список данных потоков, индексов и псевдонимов, разделенных запятыми, используемых для ограничения запроса. Поддерживаются подстановочные знаки (*). Для выбора всех потоков данных и индексов опустите этот параметр или используйте * или _all.

Параметры запроса

active_only
(Необязательно, Булево) Если true, в ответ будут включены только текущие восстановления фрагментов. По умолчанию значение false.
detailed
(Необязательно, Булево) Если true, ответ включает подробную информацию о восстановлении фрагментов. По умолчанию false.
index
(Необязательно, строка) Список или выражение с подстановочными знаками имён индексов, разделенных запятыми, используемых для ограничения запроса.

Тело ответа

id
(Целое число) ID фрагмента.
type

(Строка) Источник восстановления фрагмента. Возможные значения включают:

EMPTY_STORE
Пустое хранилище. Указывает на новый первичный фрагмент или принудительное назначение пустого первичного фрагмента с помощью API перенаправления кластера.
EXISTING_STORE
Хранилище существующего первичного фрагмента. Указывает, что восстановление связано с запуском узла или назначением существующего первичного фрагмента.
LOCAL_SHARDS
Фрагменты другого индекса на том же узле. Указывает, что восстановление связано с операциями клонирования, сжатия или разбиения.
PEER
Первичный фрагмент на другом узле. Указывает, что восстановление связано с репликацией фрагментов.
SNAPSHOT
Снимок. Указывает, что восстановление связано с операцией восстановления из снимка.
STAGE

(Строка) Этап восстановления. Возможные значения включают:

INIT
Восстановление не начато.
INDEX
Чтение метаданных индекса и копирование байтов из источника в место назначения.
VERIFY_INDEX
Проверка целостности индекса.
TRANSLOG
Воспроизведение журнала транзакций.
FINALIZE
Очистка.
DONE
Завершено.
primary
(Булево) Если true, фрагмент является первичным фрагментом.
start_time
(Строка) Отметка времени начала восстановления.
stop_time
(Строка) Отметка времени завершения восстановления.
total_time_in_millis
(Строка) Общее время восстановления фрагмента в миллисекундах.
source

(Объект) Источник восстановления. Может включать:

  • Описание хранилища, если восстановление из снимка
  • Описание узла-источника
target
(Объект) Узел назначения.
index
(Объект) Статистика физического восстановления индекса.
translog
(Объект) Статистика восстановления журнала транзакций.
start
(Объект) Статистика времени открытия и запуска индекса.

Примеры

Получение информации о восстановлении для нескольких потоков данных и индексов

GET index1,index2/_recovery?human

Получение информации о сегментах для всех потоков данных и индексов в кластере

GET /_recovery?human

API возвращает следующий ответ:

{
  "index1" : {
    "shards" : [ {
      "id" : 0,
      "type" : "SNAPSHOT",
      "stage" : "INDEX",
      "primary" : true,
      "start_time" : "2014-02-24T12:15:59.716",
      "start_time_in_millis": 1393244159716,
      "stop_time" : "0s",
      "stop_time_in_millis" : 0,
      "total_time" : "2.9m",
      "total_time_in_millis" : 175576,
      "source" : {
        "repository" : "my_repository",
        "snapshot" : "my_snapshot",
        "index" : "index1",
        "version" : "{version}",
        "restoreUUID": "PDh1ZAOaRbiGIVtCvZOMww"
      },
      "target" : {
        "id" : "ryqJ5lO5S4-lSFbGntkEkg",
        "host" : "my.fqdn",
        "transport_address" : "my.fqdn",
        "ip" : "10.0.1.7",
        "name" : "my_es_node"
      },
      "index" : {
        "size" : {
          "total" : "75.4mb",
          "total_in_bytes" : 79063092,
          "reused" : "0b",
          "reused_in_bytes" : 0,
          "recovered" : "65.7mb",
          "recovered_in_bytes" : 68891939,
          "recovered_from_snapshot" : "0b",
          "recovered_from_snapshot_in_bytes" : 0,
          "percent" : "87.1%"
        },
        "files" : {
          "total" : 73,
          "reused" : 0,
          "recovered" : 69,
          "percent" : "94.5%"
        },
        "total_time" : "0s",
        "total_time_in_millis" : 0,
        "source_throttle_time" : "0s",
        "source_throttle_time_in_millis" : 0,
        "target_throttle_time" : "0s",
        "target_throttle_time_in_millis" : 0
      },
      "translog" : {
        "recovered" : 0,
        "total" : 0,
        "percent" : "100.0%",
        "total_on_start" : 0,
        "total_time" : "0s",
        "total_time_in_millis" : 0
      },
      "verify_index" : {
        "check_index_time" : "0s",
        "check_index_time_in_millis" : 0,
        "total_time" : "0s",
        "total_time_in_millis" : 0
      }
    } ]
  }
}

Этот ответ содержит информацию об одном индексе, восстанавливающем один фрагмент. Источник восстановления — хранилище снимков, а целевой узел восстановления — my_es_node узел.

Ответ также включает количество и процент восстановленных файлов и байтов.

Получение подробной информации о восстановлении

Чтобы получить список физических файлов при восстановлении, установите параметр запроса detailed в значение true.

GET _recovery?human&detailed=true

API возвращает следующий ответ:

{
  "index1" : {
    "shards" : [ {
      "id" : 0,
      "type" : "STORE",
      "stage" : "DONE",
      "primary" : true,
      "start_time" : "2014-02-24T12:38:06.349",
      "start_time_in_millis" : "1393245486349",
      "stop_time" : "2014-02-24T12:38:08.464",
      "stop_time_in_millis" : "1393245488464",
      "total_time" : "2.1s",
      "total_time_in_millis" : 2115,
      "source" : {
        "id" : "RGMdRc-yQWWKIBM4DGvwqQ",
        "host" : "my.fqdn",
        "transport_address" : "my.fqdn",
        "ip" : "10.0.1.7",
        "name" : "my_es_node"
      },
      "target" : {
        "id" : "RGMdRc-yQWWKIBM4DGvwqQ",
        "host" : "my.fqdn",
        "transport_address" : "my.fqdn",
        "ip" : "10.0.1.7",
        "name" : "my_es_node"
      },
      "index" : {
        "size" : {
          "total" : "24.7mb",
          "total_in_bytes" : 26001617,
          "reused" : "24.7mb",
          "reused_in_bytes" : 26001617,
          "recovered" : "0b",
          "recovered_in_bytes" : 0,
          "recovered_from_snapshot" : "0b",
          "recovered_from_snapshot_in_bytes" : 0,
          "percent" : "100.0%"
        },
        "files" : {
          "total" : 26,
          "reused" : 26,
          "recovered" : 0,
          "percent" : "100.0%",
          "details" : [ {
            "name" : "segments.gen",
            "length" : 20,
            "recovered" : 20
          }, {
            "name" : "_0.cfs",
            "length" : 135306,
            "recovered" : 135306,
            "recovered_from_snapshot": 0
          }, {
            "name" : "segments_2",
            "length" : 251,
            "recovered" : 251,
            "recovered_from_snapshot": 0
          }
          ]
        },
        "total_time" : "2ms",
        "total_time_in_millis" : 2,
        "source_throttle_time" : "0s",
        "source_throttle_time_in_millis" : 0,
        "target_throttle_time" : "0s",
        "target_throttle_time_in_millis" : 0
      },
      "translog" : {
        "recovered" : 71,
        "total" : 0,
        "percent" : "100.0%",
        "total_on_start" : 0,
        "total_time" : "2.0s",
        "total_time_in_millis" : 2025
      },
      "verify_index" : {
        "check_index_time" : 0,
        "check_index_time_in_millis" : 0,
        "total_time" : "88ms",
        "total_time_in_millis" : 88
      }
    } ]
  }
}

Ответ включает список восстановленных физических файлов и их размеры.

Ответ также включает временные характеристики в миллисекундах различных этапов восстановления:

  • Получение индекса
  • Воспроизведение журнала транзакций
  • Время запуска индекса

Этот ответ указывает, что восстановление done. Все восстановления, текущие или завершенные, хранятся в состоянии кластера и могут быть отображены в любое время.

Чтобы вернуть только информацию о текущих восстановлениях, установите параметр запроса active_only в значение true.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/indices-recovery.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API