Reputation: 4236
I am currently running a 10 node Elasticsearch 2.4 cluster and bulk ingesting data using Apache Nifi via the PutElasticsearch processor.
I was curious how Elasticsearch handles ingests (bulk ingests) when it comes to distributing the load out to all of the nodes. If I do a bulk ingest command on just the master node in my Elasticsearch cluster, will that master know to distribute out the ingest load to all of my other nodes in the cluster in say a round robin type strategy?
With respect to Nifi, in my PutElasticsearch processor I have the option to put all of the IP addresses of the Elasticsearch nodes in the Elasticsearch Hosts configuration. Up to this point I have just put the Master Node IP because I assumed it was distributing out the load. Is it worth putting in all IP addresses in your cluster or just the master node?
Upvotes: 0
Views: 348
Reputation: 271
It depends on what you mean by the load to distribute. Essentially the process looks like this:
So, the indexing work is distributed among nodes hosting target shards and replicas, however, all the coordination is done by the node that received a request. Therefore it may make sense to send requests to different nodes to distribute coordination work.
It is also possible to configure nodes to have particular roles, have a look at the doc
Upvotes: 1