Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
opensearch 2.7.0 Describe the issue:
According to these pages,
Creating a cluster - OpenSearch documentation
About ML Commons - OpenSearch documentation
node type for ml is dynamic or ml.
so I gave the type for each node like this
but neither didn’t set ml role in node.role(both nodes follow “dir” - data, ingest, remote~)
I want to configure a node with “ml” role.
how to set in docker-compose.yml?
@cucukaka I had a look at the
node.role in the older version and it was used until version 2.0.0.
In version 2.1.0, the new field
node.roles has been introduced to support dynamic and ml node roles.
You should refer to
node.roles from version 2.1.0 and onwards.
Please find more details in the OpenSearch 2.1.0 release notes.
This file has been truncated.
# OpenSearch and Dashboards 2.1.0 Release Notes
## Release Highlights
* OpenSearch 2.1.0 supports version spoofing against 2.0.0 where it was [removed](https://github.com/opensearch-project/opensearch/pull/3530).
* You can now configure nodes with [dynamic nodes roles](https://github.com/opensearch-project/OpenSearch/pull/3436), which allows for custom node roles that won't affect node start processes.
* The [ML node role](https://github.com/opensearch-project/ml-commons/pull/346) can be configured for ML functions and tasks.
* SQL and PPL queries now supports [relevance-based search](https://github.com/opensearch-project/sql/issues/182), including [match_function](https://github.com/opensearch-project/sql/pull/204), [match_phrase](https://github.com/opensearch-project/sql/pull/604), and [match_bool_prefix](https://github.com/opensearch-project/sql/pull/634).
* OpenSearch now supports [multi-term aggregation](https://github.com/opensearch-project/OpenSearch/pull/2687).
## Release Details
OpenSearch and OpenSearch Dashboards 2.1.0 includes the following features, enhancements, bug fixes, infrastructure, documentation, maintenance, and refactoring updates.
OpenSearch [Release Notes](https://github.com/opensearch-project/OpenSearch/blob/main/release-notes/opensearch.release-notes-2.1.0.md).
OpenSearch Dashboards [Release Notes](https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/release-notes/opensearch-dashboards.release-notes-2.1.0.md).
which one is the “ml” roles in node between “dynamic” and “ml”?
@cucukaka Sorry but I don’t get the question. Could you elaborate on that?
yeah I mean,
there is a “node.role” setting in docker-compose.yml when I configed opensearch cluster.
In “node.roles” , Which of the two values of ml and dynamic really serves as machine learning?
“ml” or “dymanic” or both? or does it matter what?
- node.roles="data", "ml", "dynamic"
@cucukaka The node type list in the OS documentation refers to the types of nodes and not the specific node role names.
According to this
PR, new functionality has been introduced in OS 2.1, which is called dynamic roles.
What it means in practice is defining any role in the
node.roles other than built-in (data, ingest, master, remote) will not fail the OpenSearch node startup process.
Defining custom roles in roles.mapping
will result with this output of the _cat/nodes in OpenSearch 2.1+
but it will fail in the older version as it doesn’t support dynamic (custom) roles.
Regarding the Machine Learning role, as per the OS documentation, you should configure an
ml role in the nodes.roles. Should, because it is not mandatory to have it configured.
ml role makes the node a dedicated node for ML functions and tasks. The ML plugin will first look for the nodes with
ml role to route the tasks to that node. If there are no
ml nodes configured in the cluster, the ML plugin will use data nodes instead.