Getting error while setting up new cluster ES version 8.1.1

ES is not starting.
systemctl start elasticsearch
Job for elasticsearch.service failed because the control process exited with error code.
See "systemctl status elasticsearch.service" and "journalctl -xeu elasticsearch.service" for details.

Seeing following errors in application log :
[2024-10-19T14:17:31,978][ERROR][o.e.b.Elasticsearch ] [vb-es03] fatal exception while booting Elasticsearch
java.lang.IllegalArgumentException: unknown setting [node.master] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:563) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:509) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:479) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:449) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.SettingsModule.(SettingsModule.java:132) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.SettingsModule.(SettingsModule.java:50) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.node.Node.(Node.java:494) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.node.Node.(Node.java:344) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch$2.(Elasticsearch.java:236) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:236) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-8.11.1.jar:?]
Suppressed: java.lang.IllegalArgumentException: unknown setting [discovery.zen.minimum_master_nodes] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:563) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:509) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:479) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:449) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.SettingsModule.(SettingsModule.java:132) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.common.settings.SettingsModule.(SettingsModule.java:50) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.node.Node.(Node.java:494) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.node.Node.(Node.java:344) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch$2.(Elasticsearch.java:236) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:236) ~[elasticsearch-8.11.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-8.11.1.jar:?]
Suppressed: java.lang.IllegalArgumentException: unknown setting [node.data] please check that any required plugins are installed, or check the breaking changes documentation for removed settings

My yml file on all 3 cluster nodes is as follows :
#This node would be master eligible:
node.master: true
#This node would be a data node as well:
node.data: true
#Name the ES cluster
cluster.name: my-application
#The initial set of master-eligible nodes
cluster.initial_master_nodes: ["10.50.20.14", "10.50.20.15", "10.50.20.16"]
#Keep node name as the hostname of the server. Would be easier to track.
node.name: vb-es01
#Where the data would be stored
path.data: /var/lib/elasticsearch
#Where the logs would be stored
path.logs: /var/log/elasticsearch
#Disabling swappingfor performance boost
bootstrap.memory_lock: true
#Enter the private IP of your node along with the localhost entry:
network.host: [127.0.0.1, 10.50.20.14]
#Private IPs of all your nodes:
discovery.seed_hosts: ["10.50.20.14", "10.50.20.15", "10.50.20.16"]
#To avoid split brain (N/2 + 1):
discovery.zen.minimum_master_nodes: 2

Require explicit names when deleting indices:

action.destructive_requires_name: true

Need help in starting the cluster.

Hi @greatvikas123,

Welcome! It looks like you are setting properties that do not exist, in this case node.master and node.data. As covered in this answer, you need to use the node.roles option:

node.roles: [ data, master ]

Hope that helps!

What doc are you using? What install method?

Always start with the config files from the distro, not from blogs, examples or non Elastic sources.