Shard allocation control
One of the primary roles of the master node in an Elasticsearch cluster is allocation of shards on nodes and moving shards from one node to another for balancing the cluster state. In this section, we will see the available settings to control this allocation process.
Allocation awareness
Allocation awareness allows us to configure shards and their replicas' allocation with the use of generic parameters. This comes very handy in cases where you are running the cluster on multiple VMs on the same physical server, on multiple racks, or across multiple availability zones. In these scenarios, if more than one node on the same physical server, same rack, or same availability zone goes down, there would be a huge problem. Shard allocation awareness helps in ensuring the high availability by tagging instances, so that primaries and replicas are spread across different zones/racks.
In order to illustrate how allocation awareness works, we assume that we have a cluster built...