machine learning node is a node that has
node.ml set to
true, which is the default behavior. If you set
false, the node can service API requests but it
cannot run jobs. Taken from: https://www.elastic.co/guide/en/x-pack/current/ml-concepts.html
- Yes to the use of dedicated nodes if:
ML can be setup as it's own dedicated node type, similar to what you can do now for master or data nodes. So, you will have a few options depending on how your cluster is currently running. For example:
- If the current node(s) do not have a lot of idle CPU, then:
To run ML on the same data node, you could get machines with more cores as well as increase the RAM
or run ML as a dedicated node in your cluster.
- if the current node(s) do have a lot of idle CPU, then:
you could simply increase the memory alone.
A lot of this will depend on how many 'jobs' you configure, what they are configured to do given the source data set and how often they will run. The best way to start will be to assess what types of jobs you will plan on running to determine what the suitable configuration will be when ML is deployed.