ES集群规划

简介: 笔记

(1)ES内存设置


因为ES是非常消耗内存的,所以规划的第一步就是考虑index的JVM内存的问题。ES中 1TB的数据大概占据2GB的内存,一般情况我们都会按照这个来进行规划。如果要更加精确的计算的话,需要我们自己去ES中查看查看内存大小。


假设JVM内存配置31G, ES的内存最好不要超过32G,JVM的新生代你可以配置10G,老年区可以配置21G,index的内存最好不要超过10G,换算成索引的数据量就是5TB。如果有100T的数据,那么每个索引最好不要超过5T的话,就需要20个节点。

1.png

冻结索引实现更高的存储率


在给定节点上的索引数量越大,用于支持数据处于开放可搜索状态所需的内存就越多。在某些情况下,例如出于监管原因需要长期存档多年数据,并保持数据处于开放可搜索状态,这实际上就浪费了一些资源。

冻结索引功能用于弥补该问题,当索引被冻结时,它不占用堆,允许单个节点以非常低的开销轻松管理数千个索引。与关闭索引不同,冻结索引可复制,当搜索冻结索引时,查询将完全开放、搜索,然后按顺序关闭每个索引。冻结索引带来更高的磁盘存储与堆的占率,但是时间换空间,代价是搜索延迟。


(2)单节点分片数量


官方建议:节点分片最好按照JVM内存来进行计算

每Gb内存可以为20个分片,假设我们的JVM总量为30G,那么分片数据量最大600个。

如果分片数量就是非常多,那么整个集群分片数量最好不要超过10万


(3)主节点设置


ES集群中的建议使用独立的主节点


建议:使用独立的主节点,不要把数据节点和主节卓放在一起,如果主节点宕掉,那么在这个节点的数据就不能再最短时间内提供服务。影响客户端的查询

建议:使用独立的协调节点,如果客户的请求,我们用单独的协调节点来处理。


相关文章
|
开发者 索引
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
使用 elasticdump 跨版本迁移 ES 数据
|
JSON 安全 数据安全/隐私保护
elasticdump迁移ES数据详解
elasticdump迁移ES数据详解
|
运维 监控 Shell
白话Elasticsearch73_ES生产集群中的索引管理01
白话Elasticsearch73_ES生产集群中的索引管理01
122 0
|
API 索引
白话Elasticsearch73_ES生产集群中的索引管理02
白话Elasticsearch73_ES生产集群中的索引管理02
93 0
|
存储 缓存 固态存储
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
159 0
|
容灾 数据处理
ES高可用集群规模实战介绍
ES高可用集群规模实战介绍
1027 0
|
运维 Kubernetes Cloud Native
OpenKruise V1.4 版本解读:新增 Job Sidecar Terminator 能力
OpenKruise V1.4 版本解读:新增 Job Sidecar Terminator 能力
|
存储 固态存储 数据挖掘
ES索引规划方案
《ES索引规划方案》是研发部门针对审计系统需求,对海量日志数据进行实时存储和查询的解决方案,经过不断完善整理成册,以供后续相关开发人员学习使用
270 0
ES索引规划方案
|
存储 运维
ES集群规划
ES集群规划
140 0
|
存储 Kubernetes NoSQL
Kubernetes 部署 Nebula 图数据库集群
数据库容器化是最近的一大热点,Kubernetes 能给数据库带来故障恢复、存储管理、负载均衡、水平拓展等好处。而它在图数据库 Nebula Graph 中可以发挥什么作用呢?
1451 0
下一篇
无影云桌面