cat recovery API编辑

cat API 仅供人类通过命令行或 Kibana 控制台使用。它们*不*适用于应用程序。对于应用程序使用,请使用 索引恢复 API

返回有关正在进行和已完成的分片恢复的信息,类似于 索引恢复 API。

对于数据流,API 返回有关流的后台索引的信息。

请求编辑

GET /_cat/recovery/<target>

GET /_cat/recovery

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则您必须具有 monitormanage 集群权限 才能使用此 API。您还必须对要检索的任何数据流、索引或别名具有 monitormanage 索引权限

描述编辑

cat recovery API 返回有关分片恢复的信息,包括正在进行的和已完成的。它是 JSON 索引恢复 API 的更紧凑视图。

分片恢复是初始化分片副本的过程,例如从快照恢复主分片或从主分片同步副本分片。当分片恢复完成时,恢复的分片可用于搜索和索引。

恢复在以下过程中自动发生

  • 节点启动。这种类型的恢复称为本地存储恢复。
  • 主分片复制。
  • 将分片重新定位到同一集群中的不同节点。
  • 快照恢复 操作。
  • 克隆收缩拆分 操作。

路径参数编辑

<target>
(可选,字符串)用于限制请求的数据流、索引和别名的逗号分隔列表。支持通配符 (*)。要定位所有数据流和索引,请省略此参数或使用 *_all

查询参数编辑

active_only
(可选,布尔值)如果为 true,则响应仅包含正在进行的分片恢复。默认为 false
bytes
(可选,字节大小单位)用于显示字节值的单位。
detailed
(可选,布尔值)如果为 true,则响应包含有关分片恢复的详细信息。默认为 false
format
(可选,字符串)HTTP 接受标头 的简短版本。有效值包括 JSON、YAML 等。
h
(可选,字符串)要显示的列名的逗号分隔列表。
help
(可选,布尔值)如果为 true,则响应包含帮助信息。默认为 false
index
(可选,字符串)用于限制请求的索引名称的逗号分隔列表或通配符表达式。
s
(可选,字符串)用于对响应进行排序的列名或列别名的逗号分隔列表。
time
(可选,时间单位)用于显示时间值的单位。
v
(可选,布尔值)如果为 true,则响应包含列标题。默认为 false

示例编辑

没有正在进行的恢复的示例编辑

response = client.cat.recovery(
  v: true
)
puts 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,这意味着它们是在节点启动时从本地存储读取的。

具有实时分片恢复的示例编辑

通过增加索引的副本计数并使另一个节点联机以托管副本,您可以检索有关正在进行的恢复的信息。

response = client.cat.recovery(
  v: true,
  h: 'i,s,t,ty,st,shost,thost,f,fp,b,bp'
)
puts 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 恢复索引的备份。您可以使用 cat recovery API 检索有关快照恢复的信息。

response = client.cat.recovery(
  v: true,
  h: 'i,s,t,ty,st,rep,snap,f,fp,b,bp'
)
puts 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%