[[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 <> API. The modules in this section are: <>:: 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. <>:: A Java node client joins the cluster, but doesn't hold data or act as a master node. <>:: Using plugins to extend Elasticsearch. <>:: Custom scripting available in Lucene Expressions, Groovy, Python, and Javascript. <>:: Backup your data with snapshot/restore. <>:: Information about the dedicated thread pools used in Elasticsearch. <>:: Configure the transport networking layer, used internally by Elasticsearch to communicate between nodes. <>:: A tribe node joins one or more clusters and acts as a federated client across them. -- include::modules/cluster.asciidoc[] include::modules/discovery.asciidoc[] include::modules/gateway.asciidoc[] include::modules/http.asciidoc[] include::modules/indices.asciidoc[] include::modules/network.asciidoc[] include::modules/node.asciidoc[] include::modules/plugins.asciidoc[] include::modules/scripting.asciidoc[] include::modules/snapshots.asciidoc[] include::modules/threadpool.asciidoc[] include::modules/transport.asciidoc[] include::modules/tribe.asciidoc[]