[[modules]]
= Modules

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

_static_::

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.

_dynamic_::

These settings can be dynamically updated on a live cluster with the
<<cluster-update-settings,cluster-update-settings>> API.

The modules in this section are:

<<modules-discovery,Discovery and cluster formation>>::

    How nodes discover each other, elect a master and form a cluster.

<<modules-cluster,Shard allocation and cluster-level routing>>::

    Settings to control where, when, and how shards are allocated to nodes.

<<modules-gateway,Gateway>>::

    How many nodes need to join the cluster before recovery can start.

<<modules-http,HTTP>>::

    Settings to control the HTTP REST interface.

<<modules-indices,Indices>>::

    Global index-related settings.

<<modules-node,Node client>>::

    A Java node client joins the cluster, but doesn't hold data or act as a master node.
--


include::modules/discovery.asciidoc[]

include::modules/cluster.asciidoc[]

include::modules/gateway.asciidoc[]

include::modules/http.asciidoc[]

include::modules/node.asciidoc[]
