2
votes

Bellow is the Node status of my Elasticsearch cluster(please follow the node.role column,

[root@manager]# curl -XGET http://192.168.6.51:9200/_cat/nodes?v
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.6.54           20          97   0    0.00    0.00     0.00 dim       -      siem03.arif.local
192.168.6.51           34          55   0    0.16    0.06     0.01 l         -      siem00.arif.local
192.168.6.52           15          97   0    0.00    0.00     0.00 dim       *      siem01.arif.local
192.168.6.53           14          97   0    0.00    0.00     0.00 dim       -      siem02.arif.local

From Elasticsearch Documentation,

node.role, r, role, nodeRole (Default) Roles of the node. Returned values include m (master-eligible node), d (data node), i (ingest node), and - (coordinating node only).

So, from the above output, the dim means, Data + Master + Ingest node. Which is absolutely correct. But I configured the host siem00.arif.local as a coordinating node. But it showed l which is not an option described by the documentation.

So what does it mean? It was just - before. But after an update (which I have pushed on each of the nodes) it doesn't work anymore and shows l in the node.role

UPDATE:

  • All the other nodes except the coordinating node were 1 version back. Now I have updated all of the nodes with exact same version. Now it works and here is the output,
[root@manager]# curl -XGET http://192.168.6.51:9200/_cat/nodes?v
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.6.53            9          79   2    0.00    0.20     0.19 dilm      *      siem02.arif.local
192.168.6.52           13          78   2    0.18    0.24     0.20 dilm      -      siem01.arif.local
192.168.6.51           33          49   1    0.02    0.21     0.20 l         -      siem00.arif.local
192.168.6.54           12          77   4    0.02    0.19     0.17 dilm      -      siem03.arif.local

Current Version is :

[root@manager]# rpm -qa | grep elasticsearch
elasticsearch-7.4.0-1.x86_64
1
node.ml: true ?Andrey Borisko

1 Answers

3
votes

The built-in roles are indeed d, m, i and -, but any plugin is free to define new roles if needed. There's another one called v for voting-only nodes.

The l role is for Machine Learning nodes (i.e. those with node.ml: true) as can be seen in the source code of MachineLearning.java in the MachineLearning plugin.