Elasticsearch:获取当前 运行 快照操作
Elasticsearch: get current running snapshot operation
假设,需要自动将 2 个或更多快照还原到弹性集群。
有必要检测到快照操作在下一次 api 调用之前完成:_snaphot/<repository>/<snapshot>/_restore
.
如果我在快照恢复时调用,集群响应 503.
我尝试将线程池 api 与 运行 快照操作一起使用:
curl -XGET 'http://127.0.0.1:9200/_cat/thread_pool?h=snapshot.active
但是,它 returns 0 无论如何。
获取有关当前 运行 还原操作的信息的正确方法是什么?
更新:
它如何与 ansible 一起工作的示例:
- name: shell | restore latest snapshot
uri:
url: "http://127.0.0.1:9200/_snapshot/{{ es_snapshot_repository }}/snapshot_name/_restore"
method: "POST"
body: '{"index_settings":{"index.number_of_replicas": 0}}'
body_format: json
- name: shell | get state of active recovering operations | log indices
uri:
url: "http://127.0.0.1:9200/_recovery?active_only"
method: "GET"
register: response
until: "response.json == {}"
retries: 6
delay: 10
您可以使用 Indices Recovery API 监视正在恢复的索引的状态。
最简单的方法是查看 stage
属性:
init
: Recovery has not started
index
: Reading index meta-data and copying bytes from source to destination
start
: Starting the engine;
opening
the index for use translog: Replaying transaction log
finalize
: Cleanup done: Complete
done
: Complete
参数 active_only
returns 关于不在 done
状态的分片的信息:
http://127.0.0.1:9200/_recovery?active_only
假设,需要自动将 2 个或更多快照还原到弹性集群。
有必要检测到快照操作在下一次 api 调用之前完成:_snaphot/<repository>/<snapshot>/_restore
.
如果我在快照恢复时调用,集群响应 503.
我尝试将线程池 api 与 运行 快照操作一起使用:
curl -XGET 'http://127.0.0.1:9200/_cat/thread_pool?h=snapshot.active
但是,它 returns 0 无论如何。
获取有关当前 运行 还原操作的信息的正确方法是什么?
更新: 它如何与 ansible 一起工作的示例:
- name: shell | restore latest snapshot
uri:
url: "http://127.0.0.1:9200/_snapshot/{{ es_snapshot_repository }}/snapshot_name/_restore"
method: "POST"
body: '{"index_settings":{"index.number_of_replicas": 0}}'
body_format: json
- name: shell | get state of active recovering operations | log indices
uri:
url: "http://127.0.0.1:9200/_recovery?active_only"
method: "GET"
register: response
until: "response.json == {}"
retries: 6
delay: 10
您可以使用 Indices Recovery API 监视正在恢复的索引的状态。
最简单的方法是查看 stage
属性:
init
: Recovery has not started
index
: Reading index meta-data and copying bytes from source to destination
start
: Starting the engine;
opening
the index for use translog: Replaying transaction log
finalize
: Cleanup done: Complete
done
: Complete
参数 active_only
returns 关于不在 done
状态的分片的信息:
http://127.0.0.1:9200/_recovery?active_only