我们有一个包含以下配置的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都为true。
我们正在将数据泵入此集群,并行运行6个logstash实例(批量大小为1000)
当逐个启动更多logstash实例时,ElasticSearch集群的节点开始抛出内存不足错误。
加速群集上批量索引速率的可能优化是什么?=同一区域中群集节点的存在是否会增加批量索引?将在群集中添加更多节点吗?
到目前为止采取的一些步骤
将批量队列大小从50增加到1000 将刷新间隔从1秒增加到2分钟 更改的段合并限制为无( https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing- performance.html)
我们无法将复制因子设置为0,因为如果其中一个节点出现故障,则会出现不一致。