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.hosts | discovery.seed_hosts |
discovery.zen.hosts_provider | discovery.seed_providers |
discovery.zen.no_master_block | cluster.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.