如何解决当数据量相对较小时,Elasticsearch大型集群与较小的集群
目前,我们有3个独立的环境,带有4个Elasticsearch集群。此外,我们有2个不同的用例,我们在其中搜索客户数据的相似性,并在其中搜索日志。
建议阅读Elasticsearch文档和在线视频讨论,以针对您的用例优化集群,因此从技术上来说,我们应该4 x 2 = 8
个单独的集群。可以基于生产集群和非生产集群将某些集群分组在一起。但是实际上我们是一个很小的团队,只有不到10个人,在大多数集群中都没有分配数据,因此在所有集群中运行3 x master nodes
太昂贵了。
即使Elastic似乎建议每个用例使用一个集群,以便您可以优化索引和分片大小IMO,我相信,如果我们只有1个集群,或者至少出现故障,我们将获得更好的性能和稳定性。到2(prod和nonprod)。我们还将减少维护费用,因为我在每个环境中都收到CloudWatch警报,有一些保存的对象需要从一个环境中转移到另一个环境,并且我已经成为负责处理所有这一切的人,最终导致分配努力。
因此,我的问题是,即使应根据用例对集群进行最佳实践的调整,当您的数据仅是几个GiB时,这仍然有意义吗?考虑到管理上的开销,以及与没有主节点的微集群的稳定性之间的权衡?
解决方法
ES群集由节点(最重要的是数据节点和主节点)组成,它并非只能在群集级别进行优化,而是可以根据用例轻松调整索引和分片级别。
在您的情况下,由于您没有太多数据,因此只有2个env(prod和non-prod env。)是很有意义的,这样可以避免集群管理的开销,并采用最佳做法,例如拥有3个主节点来提高性能。可用性原因。
当根据索引所切断的数据和用例进行优化时,您可以进行优化,例如对于读取大量的索引,有意义的是拥有更多的副本,而对于索引繁重的操作,则可能需要将refresh_interval(def 1 sec)增加到更高的值。
请参考improve search performance和improve indexing speed来调整索引,还可以尝试free cluster analyzer tool在集群和节点中查找错误的配置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。