Bird
Raised Fist0
Elasticsearchquery~10 mins

Why cluster health ensures reliability in Elasticsearch - Test Your Understanding

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check the cluster health status.

Elasticsearch
GET /_cluster/health?wait_for_status=[1]
Drag options to blanks, or click blank then click option'
A"green"
B"blue"
C"red"
D"yellow"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'red' or 'yellow' which indicate problems in the cluster.
2fill in blank
medium

Complete the code to retrieve the number of active primary shards.

Elasticsearch
GET /_cluster/health?filter_path=[1]
Drag options to blanks, or click blank then click option'
A"number_of_nodes"
B"status"
C"active_primary_shards"
D"relocating_shards"
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing with status or number_of_nodes fields.
3fill in blank
hard

Fix the error in the code to wait for the cluster to be at least yellow.

Elasticsearch
GET /_cluster/health?wait_for_status=[1]
Drag options to blanks, or click blank then click option'
A"green"
B"yellow"
C"red"
D"blue"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'red' which means cluster is unhealthy.
4fill in blank
hard

Fill both blanks to filter the cluster health response to only show status and number of nodes.

Elasticsearch
GET /_cluster/health?filter_path=[1],[2]
Drag options to blanks, or click blank then click option'
A"status"
B"number_of_nodes"
C"active_shards"
D"relocating_shards"
Attempts:
3 left
💡 Hint
Common Mistakes
Including shard counts which are not asked for.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps node names to their roles if the cluster status is green.

Elasticsearch
nodes_roles = {node['name']: node['roles'] for node in cluster['nodes'] if cluster['status'] == [1] and 'data' [2] node['roles'] and 'master' [3] node['roles']}
Drag options to blanks, or click blank then click option'
A"green"
Bin
Cnot in
D"yellow"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'not in' which excludes nodes with those roles.

Practice

(1/5)
1. What does a green cluster health status indicate in Elasticsearch?
easy
A. The cluster is offline and cannot process requests
B. Some replica shards are not allocated but primary shards are active
C. All primary and replica shards are active and the cluster is fully operational
D. The cluster has unassigned primary shards and is not fully functional

Solution

  1. Step 1: Understand cluster health colors

    Elasticsearch uses colors to show cluster health: green means all shards are active, yellow means some replicas missing, red means primary shards missing.
  2. Step 2: Interpret green status

    Green means both primary and replica shards are allocated and working, so the cluster is fully operational and reliable.
  3. Final Answer:

    All primary and replica shards are active and the cluster is fully operational -> Option C
  4. Quick Check:

    Green = fully operational [OK]
Hint: Green means all shards active, cluster fully reliable [OK]
Common Mistakes:
  • Confusing yellow with green status
  • Thinking red means only replicas missing
  • Assuming green means cluster is offline
2. Which Elasticsearch API call correctly checks the cluster health status?
easy
A. GET /_cluster/health
B. POST /_cluster/status
C. GET /_health/cluster
D. PUT /_cluster/check

Solution

  1. Step 1: Recall the correct API endpoint

    The official Elasticsearch API to check cluster health is a GET request to /_cluster/health.
  2. Step 2: Eliminate incorrect options

    POST, PUT methods or wrong paths like /_cluster/status or /_health/cluster are invalid for cluster health check.
  3. Final Answer:

    GET /_cluster/health -> Option A
  4. Quick Check:

    Correct API = GET /_cluster/health [OK]
Hint: Use GET /_cluster/health to check status [OK]
Common Mistakes:
  • Using POST or PUT instead of GET
  • Mixing up API endpoint paths
  • Trying to check health with wrong HTTP method
3. Given this Elasticsearch cluster health response snippet:
{"status": "yellow", "number_of_nodes": 3, "active_primary_shards": 10, "active_shards": 15}

What does the yellow status mean here?
medium
A. All shards including replicas are active
B. Some replica shards are not allocated but all primary shards are active
C. Primary shards are missing causing data loss
D. Cluster is offline and cannot serve requests

Solution

  1. Step 1: Analyze the cluster health status

    The status is yellow, which means all primary shards are active but some replica shards are not allocated.
  2. Step 2: Understand shard counts

    Active primary shards are 10, active shards are 15, so some replicas are missing but no primary shards are lost.
  3. Final Answer:

    Some replica shards are not allocated but all primary shards are active -> Option B
  4. Quick Check:

    Yellow = primary active, replicas missing [OK]
Hint: Yellow means primary shards OK, replicas missing [OK]
Common Mistakes:
  • Confusing yellow with red status
  • Assuming yellow means primary shards missing
  • Thinking yellow means cluster offline
4. You run GET /_cluster/health but get an error. Which of these is the most likely cause?
medium
A. Using POST instead of GET for the health API
B. Cluster is in green status
C. The cluster has no data nodes
D. The API endpoint is misspelled as /_cluster/heath

Solution

  1. Step 1: Check the API endpoint spelling

    The correct endpoint is /_cluster/health. A typo like /_cluster/heath will cause an error.
  2. Step 2: Evaluate other options

    Using POST instead of GET usually returns method not allowed, not an error for endpoint. Green status does not cause errors. No data nodes may cause cluster issues but not endpoint errors.
  3. Final Answer:

    The API endpoint is misspelled as /_cluster/heath -> Option D
  4. Quick Check:

    Correct endpoint spelling avoids errors [OK]
Hint: Check API spelling carefully to avoid errors [OK]
Common Mistakes:
  • Ignoring typos in API paths
  • Assuming HTTP method causes endpoint error
  • Confusing cluster status with API errors
5. You want to ensure your Elasticsearch cluster stays reliable. Which strategy best uses cluster health checks to maintain reliability?
hard
A. Regularly monitor cluster health and automatically reallocate unassigned shards when status is yellow or red
B. Ignore cluster health status if search queries are fast
C. Only check cluster health once when the cluster starts
D. Disable replica shards to improve cluster health status

Solution

  1. Step 1: Understand cluster health monitoring

    Regular monitoring helps detect issues early. Yellow or red status means some shards are missing or unassigned, risking data loss or slow queries.
  2. Step 2: Use automatic shard reallocation

    Automatically reallocating unassigned shards restores replicas and primary shards, improving cluster reliability and data safety.
  3. Final Answer:

    Regularly monitor cluster health and automatically reallocate unassigned shards when status is yellow or red -> Option A
  4. Quick Check:

    Monitor + fix shards = reliable cluster [OK]
Hint: Monitor health and fix shards to keep cluster reliable [OK]
Common Mistakes:
  • Ignoring cluster health status
  • Checking health only once
  • Disabling replicas reduces reliability