我正在尝试删除多个快照,尝试用逗号分隔它们,但它没有用。文档似乎没有谈到这一点。如果我查询状态api,我似乎也无法看到正在进行的删除,是否有办法查看快照删除的状态?
编辑:使用ES 1.7
答案 0 :(得分:1)
从ES 6.1.0开始,您无法检查快照的删除进度。
但是,您可以使用/_cat/tasks
并查找snapshot/delete
的任务,以检查是否删除了快照。
答案 1 :(得分:1)
@tudalex, 从ES 6.3开始,您不能一次删除多个快照。如果在删除以前的快照时尝试删除另一个快照,则会出现以下错误:
{
"error" : {
"root_cause" : [
{
"type" : "concurrent_snapshot_execution_exception",
"reason" : "[snapshotXX] another snapshot is currently running cannot delete"
}
],
"type" : "concurrent_snapshot_execution_exception",
"reason" : "[snapshotXX] another snapshot is currently running cannot delete"
},
"Status. 503.
}
您可以保留一种重试机制,该机制可以轮询ES以获取任何快照删除任务,如果没有快照删除任务正在运行,则可以启动下一个快照的删除。您可以执行以下操作:
curator.DeleteSnapshots(snapshot_list, retry_interval=30, retry_count=5).do_action() except (curator.exceptions.SnapshotInProgress, curator.exceptions.NoSnapshots, curator.exceptions.FailedExecution) as e: print(e)
上面的代码[3]每30秒重试一次删除快照,如果在上一次尝试中无法删除快照,则最多重试5次。