ElasticSearch - setting [cluster.initial_master_nodes] is not allowed when [discovery.type] is set to [single-node]
Upgrading ElasticSearch can be quite challenging(at least for me it was). I talked about some other issues I had while upgrading before. Let's add a last one to the list...
When talking about the bootstrap check failures in a previous post, I shared my final solution.
But if you were paying attention as a reader you maybe noticed that I didn’t follow the suggestions mentioned inside the bootstrap check error:
bootstrap check failure [1] of [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
I didn’t set the discovery.seed_hosts
, discovery.seed_providers
or cluster.initial_master_nodes
setting as mentioned, instead I changed the discovery.type
to single-node
.
In fact my first attempt looked like this:
However this resulted in the following error message:
[2022-05-09T11:33:18,943][WARN ][stderr ] [SERVER1] java.lang.IllegalArgumentException: setting [cluster.initial_master_nodes] is not allowed when [discovery.type] is set to [single-node]
[2022-05-09T11:33:18,943][WARN ][stderr ] [SERVER1] at org.elasticsearch.cluster.coordination.ClusterBootstrapService.<init>(ClusterBootstrapService.java:87)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.cluster.coordination.Coordinator.<init>(Coordinator.java:258)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.discovery.DiscoveryModule.<init>(DiscoveryModule.java:191)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.node.Node.<init>(Node.java:828)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.node.Node.<init>(Node.java:291)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:234)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:234)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:358)
[2022-05-09T11:33:18,944][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:166)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:157)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:81)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.cli.Command.main(Command.java:77)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:122)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)
[2022-05-09T11:33:18,945][WARN ][stderr ] [SERVER1] For complete error details, refer to the log at d:\elastic\elasticsearch\logs\elasticsearch.log
By setting the discovery type to single-node
, a node will elect itself master and will not join a cluster with any other node.