# How to rebalance primary shards on elastic cluster

**URL:** https://discuss.elastic.co/t/how-to-rebalance-primary-shards-on-elastic-cluster/176060
**Category:** Elasticsearch
**Created:** [April 9, 2019, 3:28pm UTC](https://discuss.elastic.co/t/how-to-rebalance-primary-shards-on-elastic-cluster/176060 "2019-04-09T15:28:16Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)
#### Post date: [April 16, 2019, 11:46am UTC](https://discuss.elastic.co/t/how-to-rebalance-primary-shards-on-elastic-cluster/176060/3 "2019-04-16T11:46:05Z")

</div>

This question does come up occasionally, and you're right that in most cases it's not necessary. However, it is also true that an update-heavy workload will consume more resources on the primary than on a replica (and conversely this is the only kind of workload that would cause such an imbalance).

There is no simple way to do primary balancing. The allocator doesn't really distinguish between primaries and replicas, and there is no API to promote a specific replica to a primary. You can try using the [cluster reroute API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html) to move a primary somewhere else, or to cancel the allocation of a primary (which will then promote a replica) but it doesn't cover all the cases.

I can't see an issue in Github specifically requesting this feature. Could you open one? There is no simple way to achieve this with today's allocator, but it'd be good to start to quantify the support for this feature there.

---

_[View the full topic](https://discuss.elastic.co/t/how-to-rebalance-primary-shards-on-elastic-cluster/176060)._
