[[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: <>:: How nodes discover each other, elect a master and form a cluster. <>:: Settings to control where, when, and how shards are allocated to nodes. <>:: 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. <>:: Information about the dedicated thread pools used in Elasticsearch. <>:: Configure the transport networking layer, used internally by Elasticsearch to communicate between nodes. <>:: Remote clusters are used in features that work by connecting across clusters on the transport layer. <>:: {ccs-cap} enables executing search requests across more than one cluster without joining them and acts as a federated client across them. -- include::modules/discovery.asciidoc[] include::modules/cluster.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/threadpool.asciidoc[] include::modules/transport.asciidoc[] include::modules/remote-clusters.asciidoc[]