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集群中的建议使用独立的主节点


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

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


相关文章
|
2月前
|
运维 Kubernetes 调度
Kubernetes工作负载重点总结
Kubernetes工作负载重点总结
30 3
|
12月前
|
存储 缓存 固态存储
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
127 0
|
12月前
|
机器学习/深度学习 Kubernetes API
「容器架构」 K8s 集群如何规划工作节点的大小?
「容器架构」 K8s 集群如何规划工作节点的大小?
|
存储 运维
ES集群规划
ES集群规划
115 0
|
容灾 数据处理
ES高可用集群规模实战介绍
ES高可用集群规模实战介绍
969 0
|
存储 固态存储 数据挖掘
ES索引规划方案
《ES索引规划方案》是研发部门针对审计系统需求,对海量日志数据进行实时存储和查询的解决方案,经过不断完善整理成册,以供后续相关开发人员学习使用
220 0
ES索引规划方案
|
分布式计算 前端开发 Hadoop
环境篇 ES 集群的配置|学习笔记
快速学习环境篇 ES 集群的配置
284 0
|
分布式计算 安全 Hadoop
环境篇 ES 集群安装准备工作|学习笔记
快速学习环境篇 ES 集群安装准备工作
66 0
|
大数据 流计算 开发者
环境篇 ES 集群的测试|学习笔记
快速学习环境篇 ES 集群的测试
114 0
|
机器学习/深度学习 存储 弹性计算
ES架构设计:从单节点服务到百万节点 Elasticsearch 高可用集群系统架构设计
ES架构设计:从单节点服务到百万节点 Elasticsearch 高可用集群系统架构设计