Configuring a Dedicated ML Node

A dedicated ML node is an OpenSearch node that performs ML processing for Semantic Search. Configure a dedicated ML node when you want embedding generation to run on a separate OpenSearch node instead of running on nodes that also perform data, ingest, or cluster-manager processing.

In the delivered setup, an OpenSearch node can include the ML role along with other node roles. To use a dedicated ML node, configure a separate node with the ML role and remove the ml role from the existing master or data nodes. With this setup, ML processing is handled only by the dedicated ML node.

Configuring a Dedicated ML Node

Complete these steps to configure a dedicated ML node for an existing OpenSearch cluster:

  1. If the cluster is already set up, bring down all cluster nodes, ensuring that the master node is brought down last.
  2. Add the new ML node host name to the opensearch.yml file on all nodes in the cluster.

    Add the new host to the discovery host configuration so that the existing nodes can discover the ML node when it joins the cluster.

    Example:

    discovery.seed_hosts:
      - <existing_node_1>
      - <existing_node_2>
      - <ml_node_host>
    
  3. Remove the ml role from all existing master or data nodes.

    Example:

    node.roles: [ data, ingest, cluster_manager ]

    The ML role must not remain on nodes that are not intended to perform ML processing.

  4. Bring up the master nodes and data nodes one by one.

    Confirm that the existing nodes start successfully before adding the dedicated ML node.

  5. Install the dedicated ML node by using the --ml flag in the install command.

    Run the following command on the server that you want to configure as the dedicated ML node:

    ./psft-dpk-install.sh --install --install_base_dir <BASE_DIR> --ml

    Replace <BASE_DIR> with the installation base directory for your environment.

  6. Check the cluster health.

    Verify that all expected nodes have joined the cluster and that the cluster is healthy.

    Example:

    GET _cluster/health?pretty

    You can also verify the node list.

    Example:

    GET _cat/nodes?v

After the dedicated ML node joins the cluster, OpenSearch handles ML processing on the ML node. Data nodes continue to manage indexing, storage, and search operations.

Note:

A dedicated ML node changes where OpenSearch performs ML processing. It does not select vector fields, activate an embedding model, or rebuild semantic-search indexes.

After configuring a dedicated ML node, validate Semantic Search by indexing a semantic-search-enabled search definition. For information about importing and activating embedding models in PeopleSoft, see Managing Semantic Search Embedding Models. For information about installing a custom embedding model, see Installing Custom Embedding Models.