怎么又是你

ES集群规划问题求助

Elasticsearch | 作者 meguoe | 发布于2019年12月31日 | 阅读数:2226

各位少侠,目前我司doc大概在每天1.5个亿,存储空间的话大概是50G,doc需要保留一年,主要做doc的查询和聚合统计,现在要部署ES集群,想了解一下像这种日质量如何规划ES集群,大概需要几台机器做集群?索引、分片、副本该如何规划,请各位大侠指教。
已邀请:
匿名用户

匿名用户

赞同来自: meguoe

主要看是什么样子的聚合。
ES 集群不适合做超强大的聚合计算。要是几十万数据聚合还是可以的。
如果是大数据量数据进行聚合,那肯定不行。
这么说吧,
100台物理机,20核心cpu40线程,128gb内存,10tbSSD,在30亿条数据基础上做聚合查询,每次聚合时间几十秒甚至几分钟。
 
你这种情况:
数据量很少,如果只是小聚合,比如100W数据的集合,10台物理机应该能满足 很快的聚合效率。
ES 集合是严重消耗硬件资源的,
尤其是CPU和CPU LOAD,内存和硬盘,都还好,还有网卡的流量,能用万兆别用千兆,磁盘能用SSD别用普通的。
 
CPU 最好可以40核心,最差也要20核心。
 
能拆分成小集群,别使用一个超级大集群。
 
ES 是无法做到扩展的,一个集群是有限制的,这个限制包括内存,磁盘,存储的数据量,达到一定数量就到了瓶颈,这时候无法再扩展了。
 
拆分集群是唯一的解决方案。
 
 

tacsklet - 公司有用到es

赞同来自: meguoe

楼上大佬说的非常好了,我再补充一些,对于日志来说,一个分片最好不要超过40G的大小,50G的话最少2-3个分片吧,可以一天一个索引,副本一个就够。一年的话最好做个归档,最差也要做个冷热分离。定期关闭索引不要一直开太多影响性能。master节点最好不要放数据,不要数据的话内存可以配小点。如果对于要跨很多索引进行聚合的话,性能是非常差的,建议分割开进行聚合之后由拿到的结果进行二次聚合。es也有它的优劣,扬长避短,做好规范和限制。

meguoe

赞同来自:

谢谢两位大佬

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

集群规划看看elastic原厂工程师(翻译)怎么说:
https://mp.weixin.qq.com/s/4Ls ... 75318

要回复问题请先登录注册