Bird
Raised Fist0
Elasticsearchquery~10 mins

Cluster, node, and shard architecture in Elasticsearch - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Cluster, node, and shard architecture
Start: Client sends data/query
↓
Cluster receives request
↓
Cluster routes to Node
↓
Node manages Shards
↓
Primary Shard
↓
Store data
↓
Node responds to Cluster
↓
Cluster sends response to Client
The cluster receives requests and routes them to nodes, which manage shards (primary and replicas) to store and retrieve data.
Execution Sample
Elasticsearch
Cluster -> Node -> Primary Shard -> Store Data
Cluster -> Node -> Replica Shard -> Store Copy
Shows how a cluster routes data storage to nodes and their shards.
Execution Table
StepComponentActionResult
1ClientSends data or queryRequest sent to cluster
2ClusterReceives requestRoutes to appropriate node
3NodeReceives routed requestDetermines shard to use
4Primary ShardStores data or processes queryData saved or query executed
5Replica ShardStores copy of dataBackup created for fault tolerance
6NodeAggregates shard resultsPrepares response
7ClusterCollects node responsesForms final response
8ClientReceives responseOperation complete
💡 Client receives response, ending the request cycle
Variable Tracker
ComponentStartAfter Step 2After Step 4After Step 5Final
ClusterIdleReceived requestWaiting for nodeWaiting for nodeSent response
NodeIdleReceived requestProcessed primary shardProcessed replica shardSent data to cluster
Primary ShardEmptyN/AStored dataN/AN/A
Replica ShardEmptyN/AN/AStored copyN/A
Key Moments - 3 Insights
Why does the cluster route requests to nodes instead of handling data directly?
The cluster manages the overall system but nodes hold the actual data shards; routing to nodes allows distributed storage and processing, as shown in execution_table steps 2 and 3.
What is the difference between a primary shard and a replica shard?
Primary shards store the original data and handle write operations, while replica shards store copies for backup and fault tolerance, as seen in steps 4 and 5.
How does the system ensure data is not lost if a node fails?
Replica shards on other nodes keep copies of data, so if a node fails, the cluster can use replicas to maintain data availability, explained in step 5.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, at which step does the primary shard store data?
AStep 4
BStep 3
CStep 5
DStep 2
💡 Hint
Check the 'Action' column for 'Stores data or processes query' in execution_table row 4
According to variable_tracker, what is the state of the replica shard after Step 5?
AEmpty
BProcessed primary shard
CStored copy
DSent data to cluster
💡 Hint
Look at the 'Replica Shard' row under 'After Step 5' in variable_tracker
If the cluster did not route requests to nodes, what would change in the execution_table?
AStep 1 would be repeated
BSteps 3 to 7 would be missing
CStep 8 would happen earlier
DStep 2 would be repeated
💡 Hint
Routing to nodes is shown in steps 3 to 7 in execution_table
Concept Snapshot
Cluster manages the whole system.
Nodes hold data shards.
Shards split data: primary (main) and replica (backup).
Cluster routes requests to nodes.
Nodes handle data storage and queries.
Replicas ensure data safety if nodes fail.
Full Transcript
In Elasticsearch, a cluster is a group of nodes working together. When a client sends data or a query, the cluster receives it and routes it to the right node. Each node manages shards, which are pieces of the data. Primary shards store the original data and handle writes. Replica shards keep copies for backup and fault tolerance. The node processes the request using these shards and sends the result back to the cluster, which then responds to the client. This system helps store data safely and handle queries efficiently.

Practice

(1/5)
1. What is a node in Elasticsearch cluster architecture?
easy
A. A single machine that is part of the cluster
B. A group of machines working together
C. A piece of data stored in the index
D. A backup copy of data

Solution

  1. Step 1: Understand the definition of a node

    A node is one machine or server that joins the Elasticsearch cluster to share work.
  2. Step 2: Differentiate node from cluster and shard

    A cluster is many nodes working together; shards are parts of data inside nodes.
  3. Final Answer:

    A single machine that is part of the cluster -> Option A
  4. Quick Check:

    Node = single machine [OK]
Hint: Node means one machine in the cluster [OK]
Common Mistakes:
  • Confusing node with cluster
  • Thinking node is a data piece
  • Mixing node with shard
2. Which of the following is the correct way to describe a shard in Elasticsearch?
easy
A. A part of an index that stores data
B. A node in the cluster
C. A full copy of the entire index
D. A cluster of nodes

Solution

  1. Step 1: Define what a shard is

    A shard is a smaller piece or partition of an index that holds part of the data.
  2. Step 2: Compare with other options

    It is not a full copy (that's a replica), not a node or cluster.
  3. Final Answer:

    A part of an index that stores data -> Option A
  4. Quick Check:

    Shard = index part [OK]
Hint: Shard means a data part of an index [OK]
Common Mistakes:
  • Thinking shard is a full index copy
  • Confusing shard with node
  • Mixing shard with cluster
3. Consider an Elasticsearch cluster with 3 nodes and an index configured with 5 primary shards and 1 replica per shard. How many total shards will be in the cluster?
medium
A. 5 shards
B. 10 shards
C. 6 shards
D. 15 shards

Solution

  1. Step 1: Calculate total shards per primary and replica

    Each primary shard has 1 replica, so total shards = primary shards + replicas = 5 + 5 = 10 shards.
  2. Step 2: Understand shard distribution across nodes

    Since there are 3 nodes, shards are distributed but total shards remain 10. However, the question asks total shards in cluster, including replicas.
  3. Step 3: Re-check options

    15 shards says 15 shards, which is incorrect. The correct total is 10 shards.
  4. Final Answer:

    10 shards -> Option B
  5. Quick Check:

    Total shards = primary + replica = 5 + 5 = 10 [OK]
Hint: Total shards = primary shards x (1 + replicas) [OK]
Common Mistakes:
  • Counting only primary shards
  • Adding nodes to shard count incorrectly
  • Confusing replicas with nodes
4. You have an Elasticsearch cluster with 2 nodes and an index with 4 primary shards and 1 replica. You try to assign 2 replicas per shard. What is the problem with this configuration?
medium
A. Replicas must be zero for cluster to work
B. Primary shards must be equal to replica shards
C. Number of nodes must be equal to number of shards
D. You cannot have more replicas than nodes minus one

Solution

  1. Step 1: Understand replica shard limits

    Replicas cannot exceed the number of nodes minus one because replicas cannot be on the same node as primary.
  2. Step 2: Apply to given cluster

    With 2 nodes, max replicas per shard = 1 (2 - 1). Trying 2 replicas is invalid.
  3. Final Answer:

    You cannot have more replicas than nodes minus one -> Option D
  4. Quick Check:

    Replicas ≤ nodes - 1 [OK]
Hint: Replicas max = nodes minus one [OK]
Common Mistakes:
  • Setting replicas more than nodes - 1
  • Confusing primary and replica counts
  • Assuming replicas can be zero always
5. You want to design an Elasticsearch cluster for high availability with 4 nodes. You plan to create an index with 6 primary shards and 2 replicas per shard. What is the best shard and replica configuration to avoid shard allocation errors?
hard
A. 6 primary shards and 3 replicas per shard, total 24 shards
B. 6 primary shards and 2 replicas per shard, total 18 shards
C. 6 primary shards and 1 replica per shard, total 12 shards
D. 4 primary shards and 2 replicas per shard, total 12 shards

Solution

  1. Step 1: Check replica limit based on nodes

    With 4 nodes, max replicas per shard = nodes - 1 = 3. So 2 replicas is allowed.
  2. Step 2: Consider shard allocation rules

    Each shard copy must be on a different node. 6 primary shards + 2 replicas = 18 shards total, but 18 shards on 4 nodes means some nodes hold multiple shards.
  3. Step 3: Avoid allocation errors by balancing shards

    Too many shards per node can cause performance issues. 1 replica (total 12 shards) is safer and avoids errors.
  4. Final Answer:

    6 primary shards and 1 replica per shard, total 12 shards -> Option C
  5. Quick Check:

    Replicas ≤ nodes - 1 and balanced shards [OK]
Hint: Replicas max = nodes - 1; balance shards per node [OK]
Common Mistakes:
  • Setting replicas more than nodes - 1
  • Ignoring shard distribution limits
  • Choosing fewer shards than needed
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard