Shards allocation unbalanced on nodes

I'm using ES v5.6.3, with 3 data nodes. All indices have default 5:1 (primary:replica) setting. After it runs for awhile (from logstash to ES) I noticed one data node has 50% disk.used_percent where all other 2 nodes have only 28%. I'm curious about it, and would assume ES will evenly distribute primary and replica shards across data nodes.

Node1: p2, p4, r0, r1, r3
Node2: p0, r4, r2
Node3: p1, p3.

Is there any way we can rebalance the shards "evenly" across nodes?

GET _cluster/settings
{
  "persistent": {},
  "transient": {
    "cluster": {
      "routing": {
        "rebalance": {
          "enable": "all"
         },
        "allocation": {
          "allow_rebalance": "always",
          "enable": "all"
        }
      }
    }
  }
}

I also have the allocation awareness setting as well
cluster.routing.allocation.awareness.attributes

Thanks

It looks like you can manually do it https://www.elastic.co/guide/en/elasticsearch/reference/5.6/cluster-reroute.html

But, I'm hoping ES can self balance somehow.
Please advise.

Thanks

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.