What about cookies?

We use Google Analytics to count visitors and see how you interact with the site.
Ok, it's fine   Opt me out

Written by
Ivan T.

Code Shardik

Fix AWS Elasticsearch cluster yellow status

Set up replica nodes for Elasticsearch on the AWS

This article covers a mismatch of index and AWS Elasticsearch service domain configurations. It could be a reason for the “yellow” status of the AWS ES cluster if you used default shard and replicas configs without updating ES nodes.

Cluster status update

ES is superior technology. It allows you to implement an instant search engine for your project efficiently. Meanwhile, many implementation details and configurations could affect the quality of search results and performance.

The index is created with the default amount of shards and replicas.

Here you can read a good article about ES basics concepts.

Let’s have a look at defaults as you are familiar with the concepts.

Index with default configs has index.number_of_shards equals to 5. Meanwhile, replicas property index.number_of_replicas equals 1.

Stats request returns such payload for this case.

The response could be confusing. Ten total shards, but only 5 are successful.

There is a reason. Index’s replica requires a separated node for itself and its shards. But there is no separated data node for default local or AWS ES instance.

Five shards for the master node are successfully set up. Meanwhile, the total requested by configs amount of shards is 10. This is why the yellow AWS ES cluster used default ES settings but created an AWS ES domain with only one node.

Add node on the AWS

AWS makes this process easy and smooth. You can do it without any downtime.

Go to Elasticsearch service domain dashboard. AWS Elasticsearch service

Click “Edit domain” button Edit domain

Update number of nodes on Data nodes section Update nodes

“Submit” changes.

Don’t be confused with extra data nodes on the dashboard. AWS needs some time to balance instances. A redundant data node exists around an hour for a 9GB ES domain with migration from 1 to 2 nodes.

P.S. Set amount of shards and replicas on index creation.

You can configure a number of shards and replicas at index creation. Add these fields to the payload on the index creation.

Be free to ask us any questions. Code with Shardik.

We are happy to hear about your project, answer questions or just chat:

hello@shardik.com