elasticsearch - 每天约200G日志的Elasticsearch集群设计

标签 elasticsearch logging lucene kibana nosql

我创建了具有4个数据节点,3个主节点,1个客户端节点(kibana)的ES群集(版本5.4.1)。

数据节点是r4.2xlarge aws实例(61g内存,8vCPU),并为ES JAVA分配了30G内存。

我们每天要写大约200G的日志,并保留过去14天。

我正在为我们的集群寻求建议,以提高集群性能,尤其是搜索性能(kibana)。

更多数据节点?更多的客户端节点?更大的节点?更多副本?任何可以提高性能的选项都是一种选择。

有没有人接近这个设计或负载?
我很高兴听到其他设计和负载。

谢谢,
摩西

最佳答案

  • 您正在使用几个分片?默认为5?这甚至是一个相当不错的数字。分片的大小取决于您的要求,分片应介于10G和50G之间;与日志记录用例有关,而不是在50GB方面。
  • 您想加快哪些查询?它们主要针对近期数据还是长时间跨度?如果您主要对最新数据感兴趣,则可以在热热架构中使用不同的节点类型。使用最新数据和更少数据为节点提供更多功能;功能较弱的节点上的大量较旧且访问频率较低的数据。
  • 通常,您需要找到瓶颈。我将获得免费的monitoring plugin,并看看Kibana和Elasticsearch的表现如何。

  • 大胆的猜测:您在IO方面受到限制。与EBS相比,本地磁盘更受欢迎,与旋转磁盘相比,SSD更受欢迎。如果可以的话,在该用例中,您将获得尽可能多的IOPS。

    关于elasticsearch - 每天约200G日志的Elasticsearch集群设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812172/

    相关文章:

    angularjs - 使用elasticsearch进行分面搜索

    elasticsearch - Elasticsearch 首选项设置为自定义值,文档仍从不同分片返回

    java - 在Java中增量读取日志文件

    search - 使用 Lucene 处理图形数据

    java - Lucene 中多个单词的通配符查询

    search - 使用 SOLR 改进搜索中的预输入建议

    elasticsearch - 如何在GKE上为我的Elasticsearch设置设置存储空间?

    elasticsearch - Couchbase全文本搜索和复合键

    logging - Python3中根据消息日志级别修改日志消息格式

    java - 使 log4j 可加性等于 true 或 false 的结果是什么?