Is there a way of preventing all primary shards of an idex to be placed on the same ES node

Hello,

I have a 49 node ES cluster with roughly the same size storage on each node (900GB). Most indices have 3-5 primary shards. Indices and shards can be of very variable size.

Every so often, all primary shards of one of the larger indices land on the same ES node. This can lead to disk usage hitting high water marks or just drop ingestion rate which causes lag in our logging pipeline.

We already use node.max_local_storage_nodes: 1 and shard allocation awareness based on node attributes, but as far as I know that will just make sure that both primary and replica shards will not be on the same node...

All tips and tricks welcome :slight_smile:

You can use Total shards per node | Elasticsearch Guide [7.13] | Elastic
for controlling the number of shards per index can be per node

Hello @theDor ,

that certainly sounds what I'm looking for :slight_smile: Thank you!

Unfortunately this does not seem to work as expected :confused:

It is always APM indices it seems so maybe it is not a Elasticsearch issue but a APM Server thing? Or a ES ingest pipeline thing... I need to dig deeper I guess.