ES 生命周期

在本章中,我们将讨论管理索引生命周期。众所周知,Elasticsearch 不仅执行各种任务,还管理索引生命周期。它涉及根据某些因素(例如分片大小和性能要求)执行管理操作。

在 Elasticsearch 6.7 中。从 0 开始,引入了一项新功能索引生命周期管理(ILM)。 ILM(索引生命周期管理)API 使我们能够自动化索引自动化,这意味着我们希望如何随着时间的推移管理我们的索引。以下是ILM(索引生命周期管理)的关键点:

  • Elasticsearch REST API 有助于设置 ILM 策略。但是,我们可以直接在 Kibana 用户界面中进行设置。
  • ILM(索引生命周期管理)可用于建立热-温-冷架构。在此阶段,操作是可选的,可以根据需要进行配置。
  • 索引有生命周期。索引经历不同的阶段,首先是热阶段,然后是暖阶段、冷阶段,最后是删除阶段。

Hot Indices

Hot 索引主动接收索引中的数据并提供查询服务。在这个阶段,索引是敏感的,用于数据摄取。它包括此阶段的以下操作,它们是:

  • 为了恢复,它设置了高优先级。
  • 如果当前索引太大,旧索引包含太多文档,则指定翻转策略以创建新索引。

暖索引

暖索引不包含索引的数据。但是,这些索引仍然可以执行查询。在这个温暖的阶段,索引通常不用于摄取。它包括此阶段的以下操作,它们是:

  • 它为恢复设定了中等优先级。
  • 之后,它通过缩小、设置或强制合并索引来优化索引。
  • 最后,它将索引分配给性能较低的硬件。

Cold Indices

Cold 索引非常偶尔查询。它很少查询,但它包括此阶段的以下操作:

  • 它为恢复设置了低优先级。
  • 之后,它会冻结索引。
  • 与暖索引类似,它还会将索引分配给性能较低的硬件。

删除索引

这个阶段即将全部删除。据此,删除所有早于任意保留期的索引。

Elasticsearch 提供了几个 ILM API。我们将讨论这些不同的 API 及其用途(用法)和示例。下表包含 API 及其与示例一起使用的目的:

策略管理 API

共有三个策略管理 API,如下所示:

API 名称 目的 示例
创建生命周期策略 此 API 策略用于创建生命周期策略。如果您要创建的策略已经存在,那么在这种情况下,现有策略将被替换并扩展策略版本。 PUT_ilm/policy/policy_id
获取生命周期政策 此 API 用于获取指定的策略定义。策略返回的信息包括策略版本和最后修改日期。如果没有指定任何策略,则返回所有定义的策略。 GET_ilm/policy/policy_id
删除生命周期 API 此 API 的主要目的是删除指定的生命周期策略定义。但请记住一件事,当前正在使用的策略不允许删除。 DELETE_ilm/policy/policy_id

索引管理API

索引管理API一共有三个,下面给出:

API 名称 目的 示例
移动到生命周期步骤 API 顾名思义,此 API 有助于将索引移动到指定的步骤。移动索引后,执行该步骤。 POST_ilm/move/index
重试策略 此策略负责将策略设置回发生错误的步骤。从那里它再次执行这些步骤。 POST 索引/_ilm/retry
从索引 API 编辑中删除政策 基本上,此策略删除分配给索引的生命周期。除此之外,它还停止管理指定的索引。 POST 索引/_ilm/remove

运营管理API

运营管理API有四种,下面分别给出:

API 名称 目的 示例
获取索引生命周期管理状态API 该操作API用于获取ILM插件的状态。它显示了此 API 作为响应返回的 operation_mode 字段中的三种状态之一: STARTED、STOPPING 或 STOPPED。 POST/_ilm/status
启动索引生命周期管理 API 这个操作类型的API负责启动ILM插件,目前已经停止。每当形成集群时,ILM 插件都会自动启动。 POST/_ilm/start
停止索引生命周期管理(ILM) API 顾名思义,此 API 会停止所有生命周期管理操作并阻止 ILM 插件。 此 API 在对集群执行维护时非常有用,并且需要防止 ILM 对您的索引执行任何操作。 POST/_ilm/stop
解释生命周期 API 此API 有助于检索有关索引当前生命周期状态的信息。它可以当前正在执行阶段、步骤和动作。每当索引进入每一个时,此显示、有关失败的信息以及运行阶段的定义。 GET index/_ilm/explain

在 Elasticsearch 6.6 中,引入了两个强大的功能,即 ILM 和 Frozen Indices。 ILM 指的是索引生命周期管理,我们在前一章中已经详细讨论过。 点击此处了解索引生命周期管 ...