索引恢复 API
返回有关一个或多个索引的正在进行和已完成的分片恢复的信息。对于数据流,API 返回流的备份索引的信息。
GET /my-index-000001/_recovery
请求
GET /<target>/_recovery
GET /_recovery
前置条件
- 如果 Elasticsearch 安全特性启用,你使用此 API 必须有
monitor或manage索引权限。
描述
使用索引恢复 API 获取有关正在进行和已完成的分片恢复的信息。
分片恢复是从主碎片同步副本碎片的过程。完成后,副本碎片可用于搜索。
在以下过程中自动进行恢复:
节点启动或失败。这种类型的恢复称为本地存储恢复。
主分片复制。
将分片重新定位到同一集群中的不同节点。
快照恢复。
路径参数
<target>(可选,字符串)用于限制请求的,逗号分隔的数据流、索引和别名的列表。支持通配符()。要以所有数据流和索引为目标,忽略此参数或使用 `
或_all`。
查询参数
active_only(可选,布尔值)如果为
true,响应仅包括正在进行的分片恢复。默认为false。detailed(可选,布尔值)如果为
true,响应包含关于分片恢复的详细信息。默认为false。index(可选,字符串)用于限制请求的,逗号分隔的索引名的列表。
响应体
id(整数)分片 ID
type(字符串)恢复类型,返回值包含:
STORE恢复与节点启动或故障有关。这种类型的恢复称为本地存储恢复。
SNAPSHOT恢复与快照恢复有关。
REPLICA恢复与主分片复本有关。
RELOCATING恢复与将分片重新定位到同一集群中的不同节点有关。
STAGE(字符串)恢复阶段。返回值包含:
DONE完成。
FINALIZE清除。
INDEX读取索引元数据并将字节从源复制到目标。
INIT恢复还未开始。
START启动恢复过程;打开索引以供使用。
TRANSLOG重放事务日志。
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,"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,"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}, {"name" : "segments_2","length" : 251,"recovered" : 251}]},"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}} ]}}
响应包括恢复的所有物理文件及其大小的列表。
响应还包括各个恢复阶段的计时(以毫秒为单位):
索引检索
音译重播
索引开始时间
此响应表示恢复已完成。所有恢复(无论是正在进行的还是已完成的)都保持在集群状态,并且可以随时报告。
要仅返回有关正在进行的恢复的信息,设置查询参数 active_only 为 true。
