Every great project has a number of modules to support what it offers. Elasticsearch has many such modules. These modules need some settings, either static using elasticsearch.yml
or dynamic settings, which can be updated using the cluster API. Let's look at different modules.
The cluster module decides how the shards are allocated to nodes and takes care of the movement of shards in order to keep the cluster balanced. This process is known as shard allocation. There are a number of settings for this module, which can be dynamically applied using the cluster API. These settings take care of shard allocation among nodes in a cluster as well as within a node.
The discovery module helps to discover the nodes in the network for a specified cluster. In the elasticsearch.yml
configuration file, there is one configuration for the cluster name, which decides which cluster this node will be part of. The default name is elasticsearch
:
cluster.name ...