本文主要是介绍ES官网阅读-ILM(index lifecycle management),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ILM:管理 index 的生命周期
可以根据你的性能、弹性、保存时长需求,使用ILM策略来自动管理你的index;比如
1. 当一个index达到确定的大小,或者一定数量的documents的时候,启动一个新索引;
2. 按照每天、每周、每月创建新index,并归档之前的index;
3. 删除过期index来执行数据保留标准;
可以通过kibana 管理界面或者ILM 的API来创建和配置ILM策略,当你给Beats或Logstash Elasticsearch的输出插件启用了ILM,默认的策略会自动配置;
自动备份你的index和管理你的snapshots,使用snapshot lifecycle policies;
ILM 可以出发哪些动作
Rollover:当当前index达到确定的大小,确定数量的docs(document)或者期限,创建一个新的index;
Shrink:减少索引中主分片的数量;
Force merge:手动触发发一个merge 来减少index shards 中的segments数量
Freeze: 使index 制度并且最小化内存占用;
Delete:永久删除一个index,包括元数据(metadata)和数据(data)
ILM 使管理在hot-warm-cold架构中的索引变得简单,当你处理日志和指标(metrics)等时间序列数据是,这很常见;
你可以指定:
1. 你想要滚动到新索引的最大分片大小、文档数量或期限
2. 不再更小索引并可以减少主分片数量的点;
3. 何时强制合并并永久删除标记为删除的文档;
4. 可以将索引移至性能较低的硬件的点;
5. 可用性不那么重要并且可以减少副本数量的点;
6. 何时index 可以被安全删除;
举个例子,如果您要将 ATM 机群中的指标数据索引到 Elasticsearch 中,您可以定义一个策略:
1. 当index 的主分片大小达到50GB,roll over(滚动)到一个新索引;
2. 将旧的index移动到warm 阶段(phase),标记制度,并且将其缩小为单个shard;
3. 7天后,移动到cold阶段(phase),并且移动到更便宜(less expensive)的硬件上;
4. 达到要求的30天保留期后删除索引;
使用ILM的注意事项:使用ILM,一个集群中的所有节点都必须运行相同的版本(version),隋岩可能会在混合的版本中创建和应用策略,但是不保证按照预期执行。尝试使用非所有节点都支持的的策略,可能会导致错误
ILM 概念
index 生存周期(lifecycle)
ILM 定义了五个index生存周期阶段(phases):
Hot:该索引正在积极的更新和查询;
Warm:该索引不再被更新但是仍然被查询;
Cold:该索引不再更新,查询也不再频繁,信息仍然需要可搜索,但如果这些查询速度较慢也没关系;
Frozen:该索引不再被更新,很少查询,信息仍然需要被搜索,但如果这些查询速度特别慢也没关系;
Delete:该索引不再被需要,并可以被安全删除;
一个index 生存周期管理策略指定了哪些阶段适用,在每个阶段什么动作被执行,以及何时在阶段之间转换。
你可以在你创建一个index 的时候,手动应用一个lLM策略,对于时间序列索引,你需要关联ILM策略到用于创建新的时序index的index template。当一个index 滚动(roll over)创建,一个手动应用的策略不会自动应用到新的index。
如果你使用Elasticsearch安全特性,ILM以上次更新策略的用户身份执行操作,ILM 仅具有上次策略更新时分配给用户的角色权限;
阶段转换(Phase transitions)
这篇关于ES官网阅读-ILM(index lifecycle management)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!