[转载] Elasticsearch 在日志场景的 hot-warm-cold 架构的最佳实践

elasticsearch 一直以来都支持 hot-warm 架构,但是如何来设置每个阶段的生命周期,却没有一个指导方案。

本文将结合日志业务给出一个 hot-warm-cold 架构的最佳实践,基于版本 6.8.0,该版本自带 index lifecycle management 功能,中文名叫“索引生命周期策略 ”,不带该功能的版本,可以通过搭配 curator 来实现。

hot

  1. shard 写满 30g 就启动 rollover(滚动更新),因为 rollover 的索引就已经不在写入了,可以当成只读索引对待了。

warm

  1. 开启 warm 阶段,使用默认的“滚动更新时移动到温阶段”
  2. 开启强制合并,设置 segment 数量为 1
  3. 不迁移节点,在 hot 节点完成 forcemerge,如果 hot 节点压力过大,可以考虑迁移到 cold 节点。如果考虑迁移到 cold 节点,则下面的 cold.5 阶段可以忽略。

cold

  1. 开启 cold 阶段,设置迁移到 cold 阶段的时间阈值。
  2. (可选)如果冷节点内存吃紧,酌情开启 frozen 功能。同时可以考虑升级 7.7 以上版本,该版本实现了将一部分 lucene 数据从 java 堆迁移到硬盘中,释放了 es 对 jvm 堆的内存占用。

delete

  1. 开启 delete 阶段,设置删除时间阈值。

作者:Java Dev
来源:cyberdak
原文链接:cyberdak.github.io/es/2020/06/28/e...

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!