Elasticsearch 管理索引生命周期17 Mar 2025 | 4 分钟阅读 在本章中,我们将讨论管理索引生命周期。 众所周知,Elasticsearch 执行各种任务,并且它还管理索引生命周期。 它涉及基于某些因素(例如分片大小和性能要求)执行管理操作。 在 Elasticsearch 6.7.0 中,引入了一个新功能 索引生命周期管理 (ILM)。 ILM(索引生命周期管理)API 允许我们自动化索引自动化,这意味着我们希望随着时间的推移如何管理我们的索引。 以下是 ILM(索引生命周期管理)的关键点 - - Elasticsearch REST API 帮助设置 ILM 策略。 但是,我们可以在 Kibana 用户界面中直接设置它。
- ILM(索引生命周期管理)可用于建立热-暖-冷架构。 在此阶段,操作是可选的,如果需要,可以进行配置。
- 索引具有生命周期。 索引经历不同的阶段,首先从热阶段,然后是暖阶段,冷阶段,最后是删除阶段。
热索引热索引主动接收索引中的数据并服务查询。 在此阶段,索引很敏感,用于数据摄取。 它包括此阶段的以下操作,即 - - 为了恢复,它设置高优先级。
- 如果当前索引太大,旧的包含太多文档,则指定滚动策略以创建新索引。
暖索引暖索引不包含在其中索引的数据。 但是,这些索引仍然可以执行查询。 在此暖阶段,索引通常不用于摄取。 它包括此阶段的以下操作,即 - - 它为恢复设置中等优先级。
- 之后,它通过收缩、设置或强制合并它们来优化索引,使其只读。
- 最后,它将索引分配给性能较低的硬件。
冷索引冷索引很少被查询。 它很少被查询,但它包括此阶段的以下操作 - - 它为恢复设置低优先级。
- 之后,它冻结索引。
- 与暖索引类似,它也将索引分配给性能较低的硬件。
删除索引此阶段全部关于被删除。 根据这一点,删除所有比任意保留期旧的索引。 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 index/_ilm/retry | 从索引 API 中删除策略编辑 | 基本上,此策略删除分配给索引的生命周期。 除此之外,它还停止管理指定的索引。 | POST index/_ilm/remove |
操作管理 API有四种操作管理 API,如下所示 - API 名称 | 目的 | 示例 |
---|
获取索引生命周期管理状态 API | 此操作 API 用于获取 ILM 插件的状态。 它显示三个状态之一,即在响应中此 API 返回的 operation_mode 字段中已启动、正在停止或已停止。 | 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 |
|