Elasticsearch Zen Discovery Settings

By Opster Team

Updated: Mar 21, 2023

| 1 min read

Before you dig into the details of this technical guide, have you tried asking OpsGPT?

You'll receive concise answers that will help streamline your Elasticsearch/OpenSearch operations.


Try OpsGPT now for step-by-step guidance and tailored insights into your Elasticsearch/ OpenSearch operation.

In addition to understanding why the Elasticsearch zen discovery setting was deprecated and how to remove these settings for version 7 and above, we recommend you run the Elasticsearch Health Check-Up. It will detect issues and improve your Elasticsearch performance by analyzing your shard sizes, threadpools, memory, snapshots, disk watermarks and more.

Before you dig into the details of this guide, have you tried asking OpsGPT? You’ll receive concise answers that will help streamline your Elasticsearch/OpenSearch operations.

Try OpsGPT now for step-by-step guidance and tailored insights into your search operation.

Overview

Zen discovery settings for cluster formation were deprecated in Elasticsearch version 7. If these settings are included in elasticsearch.yml files for version 7 and above, they should be removed to avoid confusion.

Reason for the changes

Up until version 6 it was possible, using zen discovery mechanism, to inadvertently set unsafe settings which could result in a cluster becoming separated into two separate clusters (the split brain problem). The changes introduced in version 7 make a more robust configuration under which you will be warned (and the cluster will not start) if you set certain unsafe configurations. In particular, in the event of loss of master nodes for version 6 and earlier, you would be allowed to simply add new master nodes, with no guarantee that you had actually preserved the original cluster state, leading to the possibility of data loss.  

How to fix it

Edit the elasticsearch.yml file in each node where you see the ZEN_DISCOVERY_SETTINGS_NOT_USED warning.  

The settings below have changed names:

discovery.zen.ping.unicast.hostsdiscovery.seed_hosts
discovery.zen.hosts_providerdiscovery.seed_providers
discovery.zen.no_master_blockcluster.no_master_block

Any other settings that start with:

discovery.zen

Can be removed.

You must restart the node for the change to take effect.  Remember to wait for your node to come back up and rejoin the cluster before restarting the next node. To check this, run:

GET _cluster/health

You should only restart nodes once the cluster is GREEN.

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?


Get expert answers on Elasticsearch/OpenSearch