Skip to main content
search
Error Logs

Error log: NotClusterManagerException – “node is not a cluster manager”

By November 21, 2025No Comments

Error log: You’ll see this error when you try to run a cluster-wide command (like changing settings or checking health) but you sent it to the wrong node.

JSON

None
{

  "error": {

    "root_cause": [

      {

        "type": "not_cluster_manager_exception",

        "reason": "node is not a cluster manager"

      }

    ],

    "type": "not_cluster_manager_exception",

    "reason": "node is not a cluster manager"

  },

  "status": 503

}

Why… is this happening? In an OpenSearch cluster, nodes have different roles. The cluster manager node is the single node responsible for managing the cluster’s state (e.g., creating indices, moving shards, changing settings). Other nodes might be “data-only” or “ingest-only.”

This error means you sent a request that only the cluster manager can handle (like PUT /_cluster/settings or GET /_cluster/health) directly to a node that is not the cluster manager.

This is very common in large clusters where you have dedicated node roles, and your client or load balancer isn’t configured to send the right traffic to the right nodes.

Best practice:

  1. Find your cluster manager: Run GET /_cat/nodes?v. Look for the node that has a * in the cm (cluster manager) column. That is your current cluster manager.
  2. Send admin requests to cluster manager nodes: Your client or application should be configured to send cluster-level requests (like _cluster/*, _snapshot/*, _cat/*) only to the nodes that are cluster-manager-eligible (node.role: cluster_manager in opensearch.yml).
  3. Use a load balancer: The best practice is to have two load balancers:
    • Data LB: Points to all your “data” or “ingest” nodes on port 9200 for indexing and searching.
    • Admin LB: Points only to your 3 dedicated cluster manager nodes on port 9200. Use this LB for all administrative tasks.
  4. Let the client handle it: If you give your OpenSearch client a list of all nodes, a smart client will discover the cluster topology and automatically route admin requests to the cluster manager. However, it’s often more resilient to do this at the load balancer level.

What else can I do? Wondering how to design your cluster with dedicated node roles? This is a key part of scaling OpenSearch. Ask the community for architectural patterns or contact us in The OpenSearch Slack Channel in #General.

Author