We recommend using CPUs with as many cores as you can.īy default, each node is a master-eligible, data, ingest, and coordinating node.
You can also optionally offload your indexing from the data nodes so that your data nodes are used exclusively for searching and aggregating.ĭelegates client requests to the shards on the data nodes, collects and aggregates the results into one final result, and sends this result back to the client.Ī couple of dedicated coordinating-only nodes is appropriate to prevent bottlenecks for search-heavy workloads. If you plan to ingest a lot of data and run complex ingest pipelines, we recommend you use dedicated ingest nodes. Runs an ingest pipeline that transforms your data before adding it to an index. Preprocesses data before storing it in the cluster. We recommend using storage and RAM-heavy nodes. For example, if you have three zones, add data nodes in multiples of three, one for each zone. These are the worker nodes of your cluster and need more disk space than any other node type.Īs you add data nodes, keep them balanced between zones. Performs all data-related operations (indexing, searching, aggregating) on local shards. In this case, you have to mark all the other nodes as not master-eligible. The way to achieve a dedicated node type is to mark all other node types as false. Two nodes will be idle for most of the time except when one node goes down or needs some maintenance.Įlects one node among them as the master node through a voting process.įor production clusters, make sure you have dedicated master nodes. This configuration ensures your cluster never loses quorum. Three dedicated master nodes in three different zones is the right approach for almost all production use cases. This includes creating and deleting indices, keeping track of the nodes that join and leave the cluster, checking the health of each node in the cluster (by running ping requests), and allocating shards to nodes. Manages the overall operation of a cluster and keeps track of the cluster state.