[[modules-cluster]]
=== Cluster-level shard allocation and routing settings

_Shard allocation_ is the process of allocating shards to nodes. This can
happen during initial recovery, replica allocation, rebalancing, or
when nodes are added or removed.

One of the main roles of the master is to decide which shards to allocate to
which nodes, and when to move shards between nodes in order to rebalance the
cluster.

There are a number of settings available to control the shard allocation process:

*   <<cluster-shard-allocation-settings>> control allocation and
    rebalancing operations.

*   <<disk-based-shard-allocation>> explains how Elasticsearch takes available
    disk space into account, and the related settings.

*   <<shard-allocation-awareness>> and <<forced-awareness>> control how shards
    can be distributed across different racks or availability zones.

*   <<cluster-shard-allocation-filtering>> allows certain nodes or groups of
    nodes excluded from allocation so that they can be decommissioned.

Besides these, there are a few other <<misc-cluster-settings,miscellaneous cluster-level settings>>.

include::cluster/shards_allocation.asciidoc[]

include::cluster/disk_allocator.asciidoc[]

include::cluster/allocation_awareness.asciidoc[]

include::cluster/allocation_filtering.asciidoc[]

include::cluster/misc.asciidoc[]
