liveBook · Manning

Node role

As explained in Elasticsearch in Action, Second Edition

A node role is a configured responsibility assigned to an Elasticsearch node, such as eligibility for master election.

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)

Role

Description

Master node

Its primary responsibility is cluster management.

Data node

Responsible for document persistence and retrieval.

Ingest node

Responsible for the transformation of data via pipeline ingestion before indexing.

Machine learning node

Handles machine learning jobs and requests.

Transform node

Handles transformation requests.

Coordination node

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

How Elasticsearch in Action, Second Edition covers it

How deep it goes
Explains role responsibilities and node.roles configuration, while deferring multi-tier data-role details.
Examples
Uses a node.roles YAML array and a single-node chats index that gains nodes to reduce replica and performance risks.
What it assumes
Introduces node responsibilities through plain cluster-management and document-operation roles without requiring prior role configuration knowledge.
What you can do after
Operate/configure nodes by setting node.roles to assign selected cluster responsibilities.
How it connects
Connects master eligibility, data nodes, ingest pipelines, machine learning, transforms, coordination nodes, cluster health, and shard allocation.

Also explained in

Compare how 2 books explain node role →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Elasticsearch in Action, Second Edition. The section links point to the parts of the book it draws on.