A node role assigns an Elasticsearch node a responsibility in the cluster. Nodes can hold multiple roles, separating cluster management, document work, ingestion, transformations, machine-learning jobs, and client-request coordination. section 3.2.5 section 14.6
Table 3.2 Node roles and responsibilities (view table figure)
| Responsible for the transformation of data via pipeline ingestion before indexing. |
|
| This is the default role. It takes care of incoming client requests. |
Use the role table to match a node’s work to its responsibility: master for cluster management, data for document persistence and retrieval, ingest for pipeline transformations, and coordination for incoming client requests. section 3.2.5
The master role makes a node eligible for master election. Master nodes handle high-level cluster operations such as creating and deleting indexes and node administration. If the current master crashes, another eligible node is elected. Data nodes instead index, search, delete, and store documents, making their work disk-I/O- and memory-intensive. section 3.2.5 section 14.6
Assign several responsibilities to a node
Configure roles in elasticsearch.yml when a node should perform selected work: node.roles: [master, data, ingest, ml] This configuration makes the node master-eligible while also allowing document operations, ingest processing, and machine-learning requests. Role choices matter operationally: a single node can index and search, but adding nodes reduces the data-loss and performance risks of keeping all work on one machine. section 3.2.5 section 14.1.2
Specialized data roles support multi-tier deployments: data_hot, data_warm, data_cold, and data_frozen. When diagnosing cluster health, remember that a node can have several default roles, but explicit node.roles configuration can restrict or select its responsibilities. section 3.2.5 section 14.1.2

