I'm using environment variable in config file (ie. elasticsearch.yml) to configure node roles.
For example:
elasticsearch.yml:
node.roles: '${NODE_ROLES}'
When, I set NODE_ROLES="master"
, NODE_ROLES="ml, remote_cluster_client"
, etc. They work as expected.
But, When I try to create a coordinating node by setting, NODE_ROLES=""
, seems like it doesn't work. Showing all node roles are assigned to coordinating nodes.
$ curl -XGET -k -u 'elastic:XpBr*PVVgPa&zK5M' "https://localhost:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.2.2.23 59 74 42 2.40 1.83 1.23 m - es-master-0
... ... ..
10.2.0.18 69 2 19 0.78 0.48 0.33 cdfhilmrstw - es-coordinating-0
I also tried setting default values like below, they also didn't work.
node.roles: '${NODE_ROLES:""}'
or
node.roles: '${NODE_ROLES:[]}'