来源: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-recovery.html
indices recovery API 提供了查看正在恢复中的索引状态信息,恢复状态可以指定特定的索引或者整个集群。
例如我们可以通过下面的这条命令查看索引名为”index1”,”index2”两个索引的恢复状态信息,
curl -XGET http://localhost:9200/index1,index2/_recovery?pretty=true
为了能看到集群中所有的恢复状态信息,可以把索引名去掉,命令改成:
curl -XGET http://localhost:9200/_recovery?pretty=true
响应结果:
{
"index1" : {
"shards" : [ {
"id" : 0,
"type" : "snapshot",
"stage" : "index",
"primary" : true,
"start_time" : "2014-02-24T12:15:59.716",
"stop_time" : 0,
"total_time_in_millis" : 175576,
"source" : {
"repository" : "my_repository",
"snapshot" : "my_snapshot",
"index" : "index1"
},
"target" : {
"id" : "ryqJ5lO5S4-lSFbGntkEkg",
"hostname" : "my.fqdn",
"ip" : "10.0.1.7",
"name" : "my_es_node"
},
"index" : {
"files" : {
"total" : 73,
"reused" : 0,
"recovered" : 69,
"percent" : "94.5%"
},
"bytes" : {
"total" : 79063092,
"reused" : 0,
"recovered" : 68891939,
"percent" : "87.1%"
},
"total_time_in_millis" : 0
},
"translog" : {
"recovered" : 0,
"total_time_in_millis" : 0
},
"start" : {
"check_index_time" : 0,
"total_time_in_millis" : 0
}
} ]
}
}
以上返回结果展示了单个索引单个分片的响应情况,恢复源为备份快照仓库,目标为一个叫“my_es_node”名的节点。
另外,输出结果还显示了恢复文件数和百分比,同样也输出了按照字节恢复数和恢复进度比率。
在一些场合中,还有可能想更详细的查看恢复信息,可以通过设置 "detailed=true"来展示更详细的信息,如:
curl -XGET http://localhost:9200/_recovery?pretty=true&detailed=true
响应结果:
{
"index1" : {
"shards" : [ {
"id" : 0,
"type" : "gateway",
"stage" : "done",
"primary" : true,
"start_time" : "2014-02-24T12:38:06.349",
"stop_time" : "2014-02-24T12:38:08.464",
"total_time_in_millis" : 2115,
"source" : {
"id" : "RGMdRc-yQWWKIBM4DGvwqQ",
"hostname" : "my.fqdn",
"ip" : "10.0.1.7",
"name" : "my_es_node"
},
"target" : {
"id" : "RGMdRc-yQWWKIBM4DGvwqQ",
"hostname" : "my.fqdn",
"ip" : "10.0.1.7",
"name" : "my_es_node"
},
"index" : {
"files" : {
"total" : 26,
"reused" : 26,
"recovered" : 26,
"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
},
...
]
},
"bytes" : {
"total" : 26001617,
"reused" : 26001617,
"recovered" : 26001617,
"percent" : "100.0%"
},
"total_time_in_millis" : 2
},
"translog" : {
"recovered" : 71,
"total_time_in_millis" : 2025
},
"start" : {
"check_index_time" : 0,
"total_time_in_millis" : 88
}
} ]
}
}
上述返回了详细的恢复列表信息(为了显示已经截去部分数据),包括恢复文件数和字节大小。还是恢复阶段时间等信息,上述恢复结果显示中显示的是已完成状态。默认情况下,不管恢复状态是否完成,只要状态信息还在,使用查看命令时均可返回。可以设置"active_only=true"来过滤只显示正在恢复的索引。
下面还有一些参数配置项:
detailed:显示详细信息,主要是用于显示物理文件恢复情况的,默认为false;
active_only:仅显示正在恢复过程中的恢复信息,默认为false;
输出结果描述:
id:分片id
type:恢复来源信息,gateway、snapshot(快照)、replica(副本)、relocating(重新分配);
stage:恢复阶段,init(初始化,未开始)、index(读取索引元数据信息和正在从源复制数据到 目标上)、start(正在执行,打开索引以备使用)、translog(重新使用事务日志)、finalize(清除)、done(完成)。
primary:true主分片,否则为false;
start_time:开始恢复时间戳;
stop_time:恢复完成时间戳;
total_time_in_millis:分片恢复所耗的毫秒数;
source:恢复源,如果是从快照恢复的描述为快照仓库,其他的为节点信息;
target:目标节点;
index:索引恢复统计信息;
translog:事务日志恢复统计信息;
start:打开索引的统计信息;