Elasticsearch生命周期管理那些事儿-overview

背景

ES原厂于7.4版本正式官宣支持ILM(Index lifecycle management,生命周期管理特性,x-pack免费特性),源码于7.0版本已经production-ready。(其实从6.6版本开始,声明周期管理已经作为beta特性开始合入源码)

声明周期管理特性可谓是姗姗来迟,随着ES从2.x被广泛应用,越来越多的骨灰级玩家只能在各自的业务平台上封装生命周期管理这一层。直到7.x,人们才看到官方对于生命周期管理的内置支持,真是等的有点漫长了。。

ES的声明周期管理特性大致有两种应用方式:

  1. 通过ES本身提供的API设置一定的policy来管理数据声明周期,可以管理ES集群数据以及备份数据(snapshot)
  2. 在kibana内简单配置,就可以管理以前我们不得不设置cronjob去删除index的工作
整体介绍

通过ES的ILM特性,使用者可以设置policy,这个policy可以应用到某个index活某些indices,从而自动的管理数据的保留周期,其触发actions有:

Rollover - 当现存的index达到一定的大小、文档数或者周期后,可以重定向这个index的alias到新的index中去写入
Shrink - 设置一定的规则来缩小一个index的主分片数目
Force merge - 按规则自动的触发index的segment合并,删除标记文档以及优化索引大小
Freeze - 按规则将一个index置为read-only或者降低内存使用
Delete - 按规则永久的remove掉一个index,包括它的数据以及元数据信息

通常,使用者可以将一个ILM policy与一个index template关联起来,这样这个policy就可以自动的应用到所有新建的indices上;也可以将某个policy手工应用到特定的index。

ILM特性大大简化了ES数据在hot-warm-cold架构下时序数据的常见管理工作:例如logs以及metrecs。

在一个index的生命周期中,它可能要经过这样4个阶段:

Hot - index频繁的被更新(update)或者访问(queried)
Warm - index已经不被更新,但是仍然被经常访问(queried)
Cold - index已经不被更新并且很少被访问;但是数据仍然有可能被用于搜索,并且可以容忍一定的延时
Delete - index按某些管理规约已经不再被访问,完全可以安全删除

例如,如果要将ATM机群中的metrics度量数据导入到ES中去,你可以定义这样一个policy:

当index文档数据达到50GB的时候(可能使用SSD写入),利用alias rollover到一个新的index中去
将这个老的index move到warm阶段(可能保存在SAS盘),标记为只读数据,shrink成只有1个主分片的index
7天之后,move这个index到cold阶段,保存到廉价硬件存储(可能是SATA盘)中去
30天之后,将这个index永久删除

注意:使用ILM特性的时候,ES集群中的的nodes最好都是同一个内核版本,虽然ILM支持mixed-version cluster,但可能无法保证某个特性按照预想的行为执行:例如,某个高版本node支持的action在某个低版本node上无法支持,从而爆errors。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch生命周期包括以下几个阶段: 1. 部署阶段:在开始使用Elasticsearch之前,需要进行部署。这包括安装Elasticsearch软件、配置节点和集群、分配资源等操作。 2. 索引创建阶段:在Elasticsearch中,数据是以索引的方式组织和存储的。在索引创建阶段,需要定义索引的映射(mapping),包括字段类型、分词器、索引设置等信息。 3. 数据导入阶段:一旦索引创建完成,可以将数据导入到Elasticsearch中。可以使用Elasticsearch提供的API或者工具(如Logstash)将数据导入。 4. 搜索与查询阶段:一旦数据导入完成,就可以进行搜索与查询操作。Elasticsearch提供了强大的搜索功能,支持全文搜索、过滤、聚合等操作。 5. 索引维护阶段:在使用过程中,可能需要对索引进行维护。这包括更新索引的映射、添加或删除文档、优化索引等操作。 6. 监控与优化阶段:为了保证Elasticsearch的性能和可靠性,需要进行监控和优化。可以使用Elasticsearch内置的监控工具或第三方监控工具进行性能监控和错误诊断,进行性能优化和故障排除。 7. 升级与扩展阶段:随着业务的发展,可能需要对Elasticsearch进行升级或扩展。在升级阶段,需要进行版本迁移和数据迁移;在扩展阶段,可以添加更多的节点或集群来处理更大的数据量和请求。 以上是Elasticsearch的大致生命周期,不同的应用场景和需求可能会有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值