我们有一个由以下配置的 3 个节点组成的弹性搜索集群
#Cpu Cores Memory(GB) Disk(GB) IO Performance
36 244.0 48000 very high
这些机器位于 3 个不同的区域,即 eu-west-1c、eu-west-1a、eu-west-1b。
每个弹性搜索实例都被分配了 30GB 的堆空间。
我们仅将上述集群用于运行聚合。集群的复制因子为 1,所有字符串字段都未分析,所有字段的 doc_values 为真。
我们将数据注入到这个集群中,并行运行 6 个 logstash 实例(批量大小为 1000)
当更多的logstash实例一个一个启动时,ElasticSearch集群的节点开始抛出内存不足的错误。
可以进行哪些优化以加快集群上的批量索引速度?= 同一区域中集群节点的存在会增加批量索引吗?在集群中添加更多节点会有帮助吗?
到目前为止采取的几个步骤
将批量队列大小从 50 增加到 1000
将刷新间隔从 1 秒增加到 2 分钟将分段
合并限制更改为无 (
https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html )
如果其中一个节点出现故障,我们无法将复制因子设置为 0,因为涉及的不一致。