Elasticsearch ILM实现索引全生命周期自动管理,解放双手

这篇具有很好参考价值的文章主要介绍了Elasticsearch ILM实现索引全生命周期自动管理,解放双手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公众号:MCNU云原生,欢迎搜索关注,更多干货,第一时间掌握!

一、什么是Elasticsearch ILM?

Elasticsearch Index Lifecycle Management(ILM)是Elasticsearch的一个功能,用于管理索引的生命周期,优化索引的性能和减少存储成本。ILM可以自动执行索引的各种操作,如创建、删除、滚动、缩小等,从而帮助用户轻松地管理索引的生命周期。ILM可以帮助用户减少手动干预的工作量,使其可以更好地专注于数据分析。

ILM机制通过在索引生命周期的不同阶段执行动作来实现自动化管理。以下是ILM机制的四个阶段及其对应的动作:

  1. 热阶段(Hot Phase):此阶段索引处于活动状态,数据频繁更新和查询。在这个阶段,可以配置滚动索引,将较旧的数据移动到暖阶段或冷阶段。此外,可以设置索引别名,使所有查询都指向新索引。
  2. 暖阶段(Warm Phase):此阶段索引处于半活动状态,数据较少更新和查询。在这个阶段,可以执行一些操作,如压缩索引、合并段或更改数据存储方式,以减少存储成本。
  3. 冷阶段(Cold Phase):此阶段索引处于非活动状态,数据不再更新,只有少量查询。在这个阶段,可以将索引移动到低成本的存储层(如S3),以进一步减少存储成本。
  4. 删除阶段(Delete Phase):此阶段索引被删除,释放存储空间。

二、ILM的所有用法

数据从Hot到Warm再到Cold,最后被Delete,这对应着我们日常的业务数据应用情况,随着时间的推移,数据的重要性越来越低,我们常常更关注近期的数据,而所有的数据存储在Elasticsearch都极大占用系统资源,ILM这个功能极为重要,让系统资源控制和集群性能优化尽量自动化,减少人工维护的成本。

Elasticsearch ILM实现索引全生命周期自动管理,解放双手

以下举个例子从整个生命周期来对索引进行管理:

2.1、创建一个新的索引并将其分配给别名

下面的代码创建一个名为“my_index”的新索引,并将其分配给别名“my_alias”。此外,这个代码使用ILM API定义了一个phases为“hot”的生命周期阶段,并为此阶段定义了最大文档空间大小和最大文档数,一旦超过就会执行索引滚动操作,创建新的索引,并通过别名指定。

PUT _ilm/policy/hot_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "50GB",
            "max_docs": 100000000
          }
        }
      }
    }
  }
}

PUT /my_index-000001
{
  "aliases": {
    "my_alias": {
      "is_write_index": true
    }
  },
  "settings": {
    "index.lifecycle.name": "hot_policy"
  }
}
2.2、将索引从“hot”阶段转移到“warm”阶段

如下定义了一个hot_warm_policy,定义了hot和warm两个生命周期阶段,超过7天的索引会执行warm阶段相关的操作,如actions所示,执行forcemerge和shrink操作,这能显著降低分片数量和segments数量,对于集群的性能有比较大的提升。

PUT _ilm/policy/hot_warm_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "50GB",
            "max_docs": 100000000
          }
        }
      },
      "warm": {
        "min_age": "7d",
        "actions": {
          "forcemerge": {},
          "shrink": {
            "number_of_shards": 1
          }
        }
      }
    }
  }
}

POST my_index-000001/_rollover
{
  "conditions": {
    "max_age":   "1d"
    }
}
2.3、将索引从“warm”阶段转移到“cold”阶段

同样的,下面的代码则在此基础上又增加了"cold"阶段,下面的代码演示了如何将索引从“warm”阶段转移到“cold”阶段,并在此阶段使用“freeze”操作来冻结索引,以便将其留在磁盘上,但不进行任何搜索操作,被freeze的索引,其元数据等信息将不会被缓存在内存中,能显著降低Elasticsearch堆内存的占用,降低集群压力。

PUT _ilm/policy/hot_warm_cold_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "50GB",
            "max_docs": 100000000
          }
        }
      },
      "warm": {
        "min_age": "7d",
        "actions": {
          "forcemerge": {},
          "shrink": {
            "number_of_shards": 1
          }
        }
      },
      "cold": {
        "min_age": "30d",
        "actions": {
          "freeze": {}
        }
      }
    }
  }
}

POST my_index-000001/_rollover
{
  "conditions": {
    "max_age": "7d"
  }
}
2.4、将索引从“cold”阶段转移到“delete”阶段

以下代码"delete"阶段,表示删除所有超过90天的索引。

PUT _ilm/policy/hot_warm_cold_delete_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "50GB",
            "max_docs": 100000000
          }
        }
      },
      "warm": {
        "min_age": "7d",
        "actions": {
          "forcemerge": {},
          "shrink": {
            "number_of_shards": 1
          }
        }
      },
      "cold": {
        "min_age": "30d",
        "actions": {
          "freeze": {}
        }
      },
      "delete": {
        "min_age": "90d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

通过以上操作可以发现,Elasticsearch的ILM功能完全解放了管理员手工操作管理索引生命周期,极大释放了生产力,不仅效率提升,而且不会容器出现因为忘记操作删除历史数据等问题导致应用性能受损的情况。文章来源地址https://www.toymoban.com/news/detail-411825.html

到了这里,关于Elasticsearch ILM实现索引全生命周期自动管理,解放双手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch 7.9.3知识归纳整理(五)之 es的索引生命周期管理

    一、常见概念及命令 1.1、概念 ILM定义了四个生命周期阶段: Hot :正在积极地更新和查询索引。 Warm :不再更新索引,但仍在查询。 cold :不再更新索引,很少查询。信息仍然需要可搜索,但是如果这些查询速度较慢也可以。 Delete :不再需要该索引,可以安全地将其删除

    2024年01月22日
    浏览(56)
  • Elasticsearch 索引模板、生命周期策略、节点角色

    索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数据,以及定期删除过期的数据,以确保Elasticsearch的健康运行。 Elasticsearch集

    2024年04月16日
    浏览(38)
  • 【ElasticSearch】更新es索引生命周期策略,策略何时对索引生效

    大家好,我是好学的小师弟,今天和大家讨论下更新es索引生命周期策略后,策略何时对索引生效 结论: 若当前索引已应用策略A(旧),更新完策略A后,新的策略A会立即对原来的已经应用该策略的索引生效;若当前索引符合新策略A的生命周期变化条件,则会自动进入下一阶段

    2024年02月07日
    浏览(46)
  • 【ES实战】索引生命周期管理(二)

    一旦策略进入热、暖或冷阶段,就设置索引的优先级。在节点重启后,优先级较高的索引会在优先级较低的索引之前被恢复。 一般来说,热阶段的索引应该有最高值,冷阶段的索引应该有最低值。例如:HOT阶段为100,Warm阶段为50,cold阶段为0。没有设置这个值的索引,其默认

    2024年02月10日
    浏览(46)
  • elasticsearch的生命周期管理

    当需要存储的数据量特别大的时候,我们会希望ES能够通过预先设定的阈值,去自动创建索引,并将过期的索引删除掉。这里就需要用到ES的生命周期。 ES的生命周期分为4个阶段: HOT-WARM-COLD-DELETE 。 elasticsearch version 7.9.3 kibana version 7.9.3 其中的 HOT 阶段是必须配置的,其他三个

    2024年02月15日
    浏览(36)
  • Elasticsearch 索引模板、生命周期策略、节点角色(1),8年大数据开发开发教你如何写简历

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新大数据全套学习资料》,

    2024年04月26日
    浏览(43)
  • 通过es索引生命周期策略删除日志索引

    在es 7.x版本之后,多了个索引生命周期的概念,可以一系列的设置,给新生成的索引绑定生命周期策略,到期后,索引自动删除。 也可以通过linux定时任务实现,请查看另一篇文章《通过linux定时任务删除es日志索引》 创建索引生命周期策略 创建索引模板,与生命周期策略绑

    2024年02月09日
    浏览(49)
  • 微服务流程引擎:简单又灵活,实现流程全生命周期管理!

    伴随着日益激烈的市场竞争,传统的办公操作已经无法满足发展需要了。如果采用微服务流程引擎加油助力,就可以帮助企业更好地管理数据资源,高效做好各种表单制作,实现高效率办公。流辰信息以市场为导向,用心钻研低代码技术平台产品,帮助不同行业的客户朋友做

    2024年02月12日
    浏览(51)
  • 借助 JFrog Artifactory 中的“发布生命周期管理”实现“发布优先”的能力

    关注世界领先 DevOps 平台 JFrog 每家企业都有软件构建和发布的工作流程。研发规模较小的企业可能会在软件发布之前进行少量的自动化测试,而研发规模较大的企业可能会进行数百项漏洞扫描、验证和审查,涵盖从技术到法律的方方面面。无论企业的软件构建和发布的工作流

    2024年01月24日
    浏览(70)
  • 最强的单点登录认证系统,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全

    MaxKey 单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是 业界领先的IAM-IDaas身份管理和认证产品 ,支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM等标准协议,提供 安全、标准和开放 的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC权限管理和资源管理等。 MaxKey注

    2024年02月03日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包