# Shard and Zone awareness

**URL:** <https://discuss.elastic.co/t/shard-and-zone-awareness/121033>\
**Category:** Elasticsearch\
**Created:** [February 22, 2018, 11:19am UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033 "2018-02-22T11:19:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ranjith\_M](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ranjith_m/32/19272_2.png) [@Ranjith\_M](https://discuss.elastic.co/u/Ranjith_M)\
**Post date:** [February 22, 2018, 11:19am UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/1 "2018-02-22T11:19:36Z")

</div>

We have build a new cluster with rack and zone awareness, and in our testing we have found shards are being distributed on rack properly, but we have issues with distributing shards based on zones

Settings in elasticsearch.yml

**node.attr.rack\_id: az2**  
**node.attr.zone: cap2**

**PUT /\_cluster/settings**  
**{**  
**"transient": {**  
**"cluster.routing.allocation.awareness.attributes": "rack\_id,zone"**  
**}**  
**}**

And the behavior is

Created index with 2 replicas and 5 shards, and here is how it distributed .  
Index1 created primary and replica shard

Node1 Node2 Node3 Node4 Node5  
Rack1-Zone1 Rack1-Zone2 Rack2-Zone1 Rack2-Zone2 Rack2-Zone2  
Shard0(R) **Shard0(R) Shard0(P)**

Any help will be grateful

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [February 22, 2018, 11:33am UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/2 "2018-02-22T11:33:24Z")

</div>

I assume you want to make sure shards are distributed across different `rack_id` in order to make sure a failing rack can not affect all replicas of a shard. For this shard allocations awareness is the correct mechanism to use.

For the `zone` parameter I suspect you however want all shard in a single zone, so here you should instead use [shard allocation filtering](https://www.elastic.co/guide/en/elasticsearch/reference/6.2/shard-allocation-filtering.html) rather than awareness.

---

<div class="post-metadata">

**Author:** ![Ranjith\_M](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ranjith_m/32/19272_2.png) [@Ranjith\_M](https://discuss.elastic.co/u/Ranjith_M)\
**Post date:** [February 22, 2018, 12:31pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/3 "2018-02-22T12:31:43Z")

</div>

Hi Christian,

Thank you for quick reply, I have read shard allocation filtering here is what we are looking for

Some mechanism to make sure every shard is in different rack and then with in the rack it should be in different zone (2 shards shouldn't be on the same zone) , this helps when one zone is down we still have a copy of that in different zone.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [February 22, 2018, 12:33pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/4 "2018-02-22T12:33:42Z")

</div>

Can you show how the nodes in the cluster are configured and how the shards were distributed?

---

<div class="post-metadata">

**Author:** ![TonyH](https://avatars.discourse-cdn.com/v4/letter/t/71c47a/32.png) [@TonyH](https://discuss.elastic.co/u/TonyH)\
**Post date:** [February 22, 2018, 1:03pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/5 "2018-02-22T13:03:26Z")

</div>

Hi Christian, I work with Ranjith.

 ![escluster2](https://us1.discourse-cdn.com/elastic/original/3X/2/0/201af640ba90ec35a710ec9c95c510cf1a4e2e1a.jpg)

The diagram depicts the behaviour within our cluster, as opposed to what we're expecting.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [February 22, 2018, 1:28pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/6 "2018-02-22T13:28:12Z")

</div>

Just to make sure that the nodes are tagged correctly, could you run this: `GET _nodes/_all/host?pretty` ?

---

<div class="post-metadata">

**Author:** ![TonyH](https://avatars.discourse-cdn.com/v4/letter/t/71c47a/32.png) [@TonyH](https://discuss.elastic.co/u/TonyH)\
**Post date:** [February 22, 2018, 1:48pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/7 "2018-02-22T13:48:57Z")

</div>

ok, so I've stripped anything sensitive:

"nodes": {  
"name": "aaaa41",  
"version": "5.6.3",  
"roles": [  
"data",  
"ingest"  
],  
"attributes": {  
"ml.max\_open\_jobs": "10",  
"rack\_id": "az2",  
"ml.enabled": "true",  
"zone": "zone2"  
}  
},  
"name": "aaaa40",  
"version": "5.6.3",  
"roles": [  
"master",  
"data"  
],  
"attributes": {  
"ml.max\_open\_jobs": "10",  
"rack\_id": "az1",  
"ml.enabled": "true",  
"zone": "zone1"  
}  
},  
"name": "aaaaa42",  
"version": "5.6.3",  
"roles": [  
"data",  
"ingest"  
],  
"attributes": {  
"ml.max\_open\_jobs": "10",  
"rack\_id": "az2",  
"ml.enabled": "true",  
"zone": "zone1"  
}  
},  
"name": "aaaaa39",  
"version": "5.6.3",  
"roles": [  
"master",  
"data"  
],  
"attributes": {  
"ml.max\_open\_jobs": "10",  
"rack\_id": "az1",  
"ml.enabled": "true",  
"zone": "zone2"  
}  
},  
"name": "aaaaa43",  
"version": "5.6.3",  
"roles": [  
"master",  
"data"  
],  
"attributes": {  
"ml.max\_open\_jobs": "10",  
"rack\_id": "az2",  
"ml.enabled": "true",  
"zone": "zone2"

```
  }
```

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [February 22, 2018, 2:13pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/8 "2018-02-22T14:13:12Z")

</div>

So you have 5 nodes, where `aaaaa41` and `aaaaa43` have the same attributes. Was it these 2 nodes that both held a replica?

---

<div class="post-metadata">

**Author:** ![Ranjith\_M](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ranjith_m/32/19272_2.png) [@Ranjith\_M](https://discuss.elastic.co/u/Ranjith_M)\
**Post date:** [February 22, 2018, 2:26pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/9 "2018-02-22T14:26:14Z")

</div>

Hi Christian,

Yes these are two nodes that are having same replicas

---

<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:** [March 22, 2018, 2:26pm UTC](https://discuss.elastic.co/t/shard-and-zone-awareness/121033/10 "2018-03-22T14:26:49Z")

</div>

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