# Control over shard and replica allocation

**URL:** https://discuss.elastic.co/t/control-over-shard-and-replica-allocation/3447
**Category:** Elasticsearch
**Created:** [October 17, 2010, 6:35am UTC](https://discuss.elastic.co/t/control-over-shard-and-replica-allocation/3447 "2010-10-17T06:35:39Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Berkay\_Mollamustafao](https://avatars.discourse-cdn.com/v4/letter/b/22d042/32.png) [@Berkay\_Mollamustafao](https://discuss.elastic.co/u/Berkay_Mollamustafao)
#### Post date: [October 17, 2010, 6:35am UTC](https://discuss.elastic.co/t/control-over-shard-and-replica-allocation/3447/1 "2010-10-17T06:35:39Z")

</div>

Hi,

Would it be feasible to control which nodes an index can be located along  
the same lines how a River can be allocated to the subset of the nodes in  
the cluster?

We have number of use cases that can take advantage of such a functionality.  
For example, we'd like to be able to dedicate some of the nodes to certain  
indices that are used by high volume of search operations and ensure that  
search performance will not be impacted by heavy write operations of other  
indices. Another use case is to prevent a large index from replicating  
between data centers, etc.

One approach may be tagging the nodes and optionally specifying tags for  
shards as well as replicas. Currently only way to do something like this  
seems to be using multiple ES clusters.

I'll open an issue for this if it makes sense.

Regards,  
Berkay Mollamustafaoglu  
mberkay on yahoo, google and skype

---

<div class="post-metadata">

### Author: ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)
#### Post date: [October 17, 2010, 10:49am UTC](https://discuss.elastic.co/t/control-over-shard-and-replica-allocation/3447/2 "2010-10-17T10:49:49Z")

</div>

Hi Berkay,

Yea, this is certainly make sense and its something I am thinking about.  
Its tricky to design properly. Tagging of nodes is the first step, but then  
there are many ways that users would want to control allocation. There is  
index level, shard level, shard replication level (don't put a shard and its  
replica on the same tag). You can open an issue for it, it is planned, just  
need to find the best (aka simplest) way to expose it, implementation is  
quite simple thanks to the current shard allocation design.

-shay.banon

On Sun, Oct 17, 2010 at 8:35 AM, Berkay Mollamustafaoglu  
[mberkay@gmail.com](mailto:mberkay@gmail.com)wrote:

> Hi,
> 
> Would it be feasible to control which nodes an index can be located along  
> the same lines how a River can be allocated to the subset of the nodes in  
> the cluster?
> 
> We have number of use cases that can take advantage of such a  
> functionality. For example, we'd like to be able to dedicate some of the  
> nodes to certain indices that are used by high volume of search operations  
> and ensure that search performance will not be impacted by heavy write  
> operations of other indices. Another use case is to prevent a large index  
> from replicating between data centers, etc.
> 
> One approach may be tagging the nodes and optionally specifying tags for  
> shards as well as replicas. Currently only way to do something like this  
> seems to be using multiple ES clusters.
> 
> I'll open an issue for this if it makes sense.
> 
> Regards,  
> Berkay Mollamustafaoglu  
> mberkay on yahoo, google and skype

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 4:17am UTC](https://discuss.elastic.co/t/control-over-shard-and-replica-allocation/3447/3 "2017-07-06T04:17:56Z")

</div>


