This section contains modules responsible for various aspects of the functionality in Elasticsearch. Each module has settings which may be:

These settings must be set at the node level, either in the elasticsearch.yml file, or as an environment variable or on the command line when starting a node. They must be set on every relevant node in the cluster.
These settings can be dynamically updated on a live cluster with the cluster-update-settings API.

The modules in this section are:

Cluster-level routing and shard allocation
Settings to control where, when, and how shards are allocated to nodes.
How nodes discover each other to form a cluster.
How many nodes need to join the cluster before recovery can start.
Settings to control the HTTP REST interface.
Global index-related settings.
Controls default network settings.
Node client
A Java node client joins the cluster, but doesn’t hold data or act as a master node.
Using plugins to extend Elasticsearch.
Backup your data with snapshot/restore.
Thread pools
Information about the dedicated thread pools used in Elasticsearch.
Configure the transport networking layer, used internally by Elasticsearch to communicate between nodes.
Tribe nodes
A tribe node joins one or more clusters and acts as a federated client across them.
Remote clusters
Remote clusters are used in features that work by connecting across clusters on the transport layer.
Cross-cluster search
Cross-cluster search enables executing search requests across more than one cluster without joining them and acts as a federated client across them.