Elasticsearch中如何实现分片大小设定和容量规划

本篇文章给大家分享的是有关Elasticsearch中如何实现分片大小设定和容量规划,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

以 Elasticsearch 7.9.2 为准。

分片大小

日志类:单个分片不超过 50G

搜索类:单个分片不超过 20G

先估算总数据量,再根据分片大小,确定分片数。

容量规划

容量规划时要考虑的因素:

  • 机器的软硬件配置

  • 单个文档的尺寸,文档总数,索引大小,分片个数,副本个数

  • 文档写入方式(如 bulk 的单次数据量)

  • 文档的复杂度

  • 文档的读取方式(如,要进行怎样的查询和聚合)

容量规划的步骤:

  1. 先进行性能评估:例如每秒写多少,每秒读多少,读单个文档能接受多大延迟。

  2. 再观察数据:mapping 的样子,需要什么样的查询和聚合。

两个典型的场景:

  • 搜索:数据增长较慢。

  • 日志:增长快,需要冷热分离,需要自动删除。

硬件配置:

搜索之类的高性能场景,磁盘要 SSD,磁盘 GB 数/内存 GB 数 = 1/10

日志和并发不高的场景,磁盘可以机械硬盘,磁盘 GB 数/内存 GB 数 = 1/50

单节点的数据量最好 2 TB 之内,最大不超过 5 TB。

JVM 的内存配机器内存的一半,同时 JVM 内存不超过 32 GB。

以上就是Elasticsearch中如何实现分片大小设定和容量规划,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。