Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›REST API ›API компактного и выровненного текста (CAT)

API восстановления cat

Новая справка по API

Для получения самых последних данных об API, обратитесь к API компактного и согласованного текста (CAT)..

API cat предназначены только для использования человеком с помощью командной строки или консоли Kibana. Они не предназначены для использования приложениями. Для использования приложениями используйте API восстановления индекса.

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

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

Запрос

GET /_cat/recovery/<target>

GET /_cat/recovery

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

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

Описание

API cat recovery возвращает информацию о восстановлениях фрагментов, как активных, так и завершенных. Это более компактный вид JSON API восстановления индекса.

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

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

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

Причину восстановления фрагмента можно определить, используя API recovery или cat recovery.

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

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

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

active_only
(Необязательно, логическое значение) Если true, в ответе отображаются только активные восстановления фрагментов. По умолчанию false.
bytes
(Необязательно, единицы измерения размера байт) Единица измерения для отображения значений байтов.
detailed
(Необязательно, логическое значение) Если true, в ответе отображается подробная информация о восстановлении фрагментов. По умолчанию false.
format
(Необязательно, строка) Краткая версия заголовка HTTP accept. Допустимые значения: JSON, YAML и т. д.
h

(Необязательно, строка) Список имен столбцов, разделенных запятыми, или выражение с подстановкой для отображения.

Если вы не укажете, какие столбцы включить, API возвращает стандартные столбцы в указанном ниже порядке. Если вы явно указываете один или несколько столбцов, возвращаются только указанные столбцы.

Допустимые столбцы:

index, i, idx
(По умолчанию) Имя индекса.
shard, s, sh
(По умолчанию) Имя фрагмента.
time, t, ti, primaryOrReplica
(По умолчанию) Время, прошедшее с начала восстановления.
type, ty
(По умолчанию) Тип восстановления, из peer или snapshot.
stage, st

(По умолчанию) Этап восстановления. Возвращаемые значения:

  • INIT
  • INDEX восстановление файлов lucene, либо использование локальных файлов, либо копирование новых файлов
  • VERIFY_INDEX потенциально выполняется проверка индекса
  • TRANSLOG запуск движка, повторное воспроизведение translog
  • FINALIZE выполнение финальной задачи после выполнения всех операций translog
  • DONE
source_host, shost
(По умолчанию) Адрес хоста, из которого перемещается индекс.
source_node, snode
(По умолчанию) Имя узла, из которого перемещается индекс.
target_host, thost
(По умолчанию) Адрес хоста, в который перемещается индекс.
target_node, tnode
(По умолчанию) Имя узла, в который перемещается индекс.
repository, rep
(По умолчанию) Имя хранилища, используемого. Если не применимо n/a.
snapshot, snap
(По умолчанию) Имя снимка, используемого. Если не применимо n/a.
...
(Остальные столбцы)
...
(Остальные параметры)

Примеры

Пример без текущего восстановления

resp = client.cat.recovery(
    v=True,
)
print(resp)
response = client.cat.recovery(
  v: true
)
puts response
const response = await client.cat.recovery({
  v: "true",
});
console.log(response);
GET _cat/recovery?v=true

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

index             shard time type  stage source_host source_node target_host target_node repository snapshot files files_recovered files_percent files_total bytes bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
my-index-000001   0     13ms store done  n/a         n/a         127.0.0.1   node-0      n/a        n/a      0     0               100%          13          0b    0b              100%          9928b       0            0                      100.0%

В этом примере ответа, исходные и целевые узлы одинаковы, потому что тип восстановления — store, означающий, что они были прочитаны из локального хранилища при запуске узла.

Пример с восстановлением активного фрагмента

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

resp = client.cat.recovery(
    v=True,
    h="i,s,t,ty,st,shost,thost,f,fp,b,bp",
)
print(resp)
response = client.cat.recovery(
  v: true,
  h: 'i,s,t,ty,st,shost,thost,f,fp,b,bp'
)
puts response
const response = await client.cat.recovery({
  v: "true",
  h: "i,s,t,ty,st,shost,thost,f,fp,b,bp",
});
console.log(response);
GET _cat/recovery?v=true&h=i,s,t,ty,st,shost,thost,f,fp,b,bp

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

i               s t      ty   st    shost       thost       f     fp      b  bp
my-index-000001 0 1252ms peer done  192.168.1.1 192.168.1.2 0     100.0%  0b 100.0%

В этом примере ответа тип восстановления — peer, означающий, что фрагмент был восстановлен с другого узла. Возвращаемые файлы и байты — это значения в реальном времени.

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

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

resp = client.cat.recovery(
    v=True,
    h="i,s,t,ty,st,rep,snap,f,fp,b,bp",
)
print(resp)
response = client.cat.recovery(
  v: true,
  h: 'i,s,t,ty,st,rep,snap,f,fp,b,bp'
)
puts response
const response = await client.cat.recovery({
  v: "true",
  h: "i,s,t,ty,st,rep,snap,f,fp,b,bp",
});
console.log(response);
GET _cat/recovery?v=true&h=i,s,t,ty,st,rep,snap,f,fp,b,bp

API возвращает следующий ответ с типом восстановления snapshot:

i               s t      ty       st    rep     snap   f  fp   b     bp
my-index-000001 0 1978ms snapshot done  my-repo snap-1 79 8.0% 12086 9.0%

© 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/8.17/cat-recovery.html

Spec-Zone.ru

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