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