Types of Node Roles
Elasticsearch supports several types of node roles, each tailored to handle specific tasks. Here, we discuss the various node roles and their configurations.
1. Master Node
The master node is responsible for cluster-wide settings and operations, such as creating or deleting indices, tracking cluster health, and managing shard allocation.
node.roles: [ "master" ]
2. Data Node
Data nodes store the indexed data and handle CRUD operations, search requests, and aggregations.
Configuration:
node.roles: [ "data" ]
3. Data Content Node
Data content nodes are a subtype of data nodes designed to store content that is frequently searched or updated.
Configuration:
node.roles: [ "data_content" ]
4. Data Hot Node
Data hot nodes store the most frequently accessed data, which requires fast read and write performance.
Configuration:
node.roles: [ "data_hot" ]
5. Data Warm Node
Data warm nodes store less frequently accessed data compared to hot nodes. They are optimized for cost-effective storage rather than performance.
Configuration:
node.roles: [ "data_warm" ]
6. Data Cold Node
Data cold nodes are used for storing infrequently accessed data at a lower cost.
Configuration
node.roles: [ "data_cold" ]
7. Coordinating Node
Coordinating nodes do not store data or become part of the master node. They handle client requests, distributing them to the appropriate data nodes and aggregating the results.
Configuration:
node.roles: []
8. Ingest Node
Ingest nodes process documents before they are indexed, performing operations such as enrichment and transformations.
Configuration:
node.roles: [ "ingest" ]
9. Machine Learning Node
Machine learning nodes are specialized for running machine learning jobs, such as anomaly detection and model training.
Configuration:
node.roles: [ "ml" ]
10. Remote Eligible Node
Remote eligible nodes facilitate cross-cluster search, allowing them to query data across different clusters. Configuration:
node.roles: [ "remote_cluster_client" ]
How to Configure all Elasticsearch Node Roles?
Elasticsearch is a powerful distributed search and analytics engine that is designed to handle a variety of tasks such as full-text search, structured search, and analytics. To optimize performance and ensure reliability, Elasticsearch uses a cluster of nodes, each configured to handle specific roles.
Understanding and properly configuring these node roles is essential for managing Elasticsearch effectively. In this article, we will go through the What is Nodes, different types of Nodes their roles in an Elasticsearch cluster.