Log message from node 2
WARN", "component": "o.e.c.c.ClusterFormationFailureHelper", "cluster.name": "elastic", "node.name": "siem01-b.dal.sync.lan", "message": "master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes
Here is an example that works for me on 6.x. These are two different servers on the same network. It uses any servers listed in the discovery.zen.ping.unicast.hosts list on startup to see if there is an existing cluster. If it doesn't find one, it will start its own cluster.
This is only required the first time a cluster starts up: nodes that have already joined a cluster store this information in their data folder for use in a full cluster restart, and freshly-started nodes that are joining a running cluster obtain this information from the cluster’s elected master.
That says why the setting is unnecessary, but we make a stronger statement and recommend actually removing it after bootstrapping. This is to help avoid two (surprisingly common) orchestration bugs:
accidentally using ephemeral storage for the master nodes
adjusting cluster.initial_master_nodes as the cluster grows and shrinks
If cluster.initial_master_nodes is in place then it may be possible to form a completely new cluster when restarting or adding nodes which is disastrous if that wasn't what you meant. Elasticsearch does what it can to prevent this disaster but that's very much on a best-effort basis and is not watertight. It's much safer to block new cluster formation by removing the setting once it's no longer needed.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.