Elasticsearch删除多个快照

时间:2016-10-02 10:32:11

标签: elasticsearch

我正在尝试删除多个快照,尝试用逗号分隔它们,但它没有用。文档似乎没有谈到这一点。如果我查询状态api,我似乎也无法看到正在进行的删除,是否有办法查看快照删除的状态?

编辑:使用ES 1.7

2 个答案:

答案 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次。