本文介绍在阿里云Elasticsearch集群上,通过生命周期管理ILM(Index Lifecycle Management)功能,实现冷热数据分离的实践流程。通过本实践,您既可以实现在保证集群读写性能的基础上,自动维护集群上的冷热数据,又能通过优化集群架构,降低企业生产成本。
背景信息
- 将索引数据实时写入Elasticsearch。当索引数据增加到一定量时,数据自动写入新索引。
- 新索引(滚动后的索引)在hot阶段停留30分钟,进入warm阶段。
- warm阶段完成Merge及Shrink操作后,索引等待1小时(从滚动更新时算起),进入cold阶段。
- cold阶段将热节点数据迁移到冷节点,实现冷热数据分离后,索引会在2个小时(从滚动更新时算起)后被删除。
使用建议
- Elasticsearch索引生命周期策略需密切贴近业务模型。例如,对多个不同结构的索引进行生命周期管理,建议各个索引配置独立的别名和生命周期策略,以便于管理。
- 使用rollover滚动索引,初始索引应以自增数字结尾(-000001),否则策略不生效,长度要求为6。例如,定义初始索引为myindex-000001,则rollover后的索引是myindex-000002,以此类推进行递增。如果集群中索引名不符合规范,建议进行索引重建。
- hot阶段主要处理数据写入。业务中需保证数据是按照时间顺序写入的,处于warm和cold阶段的索引不建议进行数据写入。例如,在warm阶段配置
actions
为shrink
或read only
,那么索引进入warm阶段后将处于只读状态,数据无法写入。说明 各生命周期阶段的详细说明请参见通过索引生命周期管理Heartbeat数据。 - 在选择冷热架构节点的规格时,由于热节点提供热点数据服务,因此建议配置较高的CPU和较快的IO;而冷节点提供冷数据服务,建议配置更多的磁盘空间。对于冷节点,即使配置较少的CPU和IO,也可以提供服务。
为索引配置生命周期管理策略
验证数据分布
更新ILM策略
切换ILM策略
总结
本文介绍了通过ILM实现冷热分离的实践流程,主要内容如下:
- 为索引配置生命周期管理策略。
主要流程如下:
- 配置集群冷热属性。
- 根据需求设置索引模板。
- 根据需求配置索引生命周期管理策略,并匹配模板。
- 定义初始滚动索引,以-00001开始,滚动生成的索引名后会自动加1。
- 验证数据分布。
验证cold阶段索引的shard是否分布在冷数据节点上。
- 更新ILM策略。
更新已有策略。
- 切换ILM策略。
在不同策略间实现滚动切换。
在文档使用中是否遇到以下问题
更多建议
匿名提交