ES 生命周期
Elasticsearch 管理索引生命周期
在本章中,我们将讨论管理索引生命周期。众所周知,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 |