2017-09-03 145 views
0

我使用logstash进行ETL用途,并在弹性搜索中使用3个索引。可以同时通过3个不同的logtash进程将文档插入到3个索引中,以提高并行性或者我应该一次将文档插入到1索引中。同时在弹性搜索中索引多个索引

我的弹性搜索群集配置的样子: 3数据节点 1个客户端节点

3数据节点 - 64 GB RAM,SSD磁盘 1个客户端节点 - 8 GB RAM

碎片 - 20个碎片 Replica - 1 谢谢

回答

0

一如既往,这取决于。 Elasticsearch的分布概念基于碎片。由于索引的分片存在于不同的节点上,因此您将自动分散负载。

但是,如果Logstash是您的瓶颈,您可能会从运行多个进程获得性能。尽管如果在一台机器上运行多个LS流程会产生积极的影响是值得怀疑的。如果Logstash是你的瓶颈,那么并行运行它们(在不同的机器上)可能是有意义的。

PS:最大的性能提升一般是将请求分配在一起,但Logstash做到了这一点by default

+1

此外,您可以添加更多工作人员(使用'-w' [命令行选项](https://www.elastic.co/guide/en/logstash/5.5/running),而不是添加更多的Logstash实例-logstash-命令line.html#命令行-标志))。 – baudsp