How to fix IllegalStateException: There are no ingest nodes in this cluster, unable to forward request to an ingest node in Elasticsearch

ElasticsearchINTERMEDIATEHIGHUpdated Dec 22, 2025· 154 views

This error occurs when Elasticsearch attempts to execute an ingest pipeline but no nodes in the cluster have the ingest role enabled. The cluster needs at least one ingest node to process pipeline requests.

Quick fix

Fixes IllegalStateException: There are no ingest nodes in this cluster, unable to forward request to an ingest node

curl -X GET "localhost:9200/_cat/nodes?v&h=name,node.role"
  1. Verify current node roles in your cluster
  2. Enable ingest role on existing nodes
  3. Disable pipeline if ingest is not needed
  4. Verify pipeline execution after fix
elasticsearch — error
curl -X GET "localhost:9200/_cat/nodes?v&h=name,node.role"
IllegalStateException: There are no ingest nodes in this cluster, unable to forward request to an ingest node

What this error means

This error is thrown by Elasticsearch's IngestActionForwarder when it tries to route a document processing request to an ingest node but cannot find any nodes with the ingest role in the cluster. Ingest nodes are responsible for executing ingest pipelines, which transform and enrich documents before they are indexed. When you use features that rely on ingest pipelines—such as APM Server, monitoring, Filebeat with pipelines, or custom ingest processors—Elasticsearch needs to forward these requests to a node capable of handling pipeline processing. If no such node exists, the IllegalStateException is raised. This commonly happens in production clusters where nodes are configured with specific roles (master-only, data-only, coordinating-only) but the ingest role is accidentally omitted from all nodes. By default, most nodes have the ingest role enabled, but explicit role configuration can override this.

Typical symptoms

  • Document indexing fails when using ingest pipelines
  • APM Server logs show "unable to forward request to an ingest node" errors
  • Monitoring or Filebeat pipeline configurations fail to process data
  • Bulk indexing operations with pipeline parameter return IllegalStateException
  • Cluster health appears green but pipeline-based ingestion fails

Common causes

  1. All nodes in the cluster are configured without the ingest role in elasticsearch.yml
  2. Nodes are configured as dedicated master or data nodes without ingest capability
  3. APM Server or Beats configured to use pipelines but cluster lacks ingest nodes
  4. Kubernetes deployments with coordinating-only nodes but no ingest nodes
  5. Migration from older Elasticsearch versions with improper role configuration

How to fix "IllegalStateException: There are no ingest nodes in this cluster, unable to forward request to an ingest node"

1Verify current node roles in your cluster

Check which roles are assigned to each node using the Nodes API:

bash
curl -X GET "localhost:9200/_cat/nodes?v&h=name,node.role"

Look for nodes with 'i' in the node.role column (i = ingest). If no nodes show the ingest role, you need to enable it.

2Enable ingest role on existing nodes

Edit elasticsearch.yml on one or more nodes to include the ingest role:

yaml
# For a node that should have multiple roles
node.roles: [ master, data, ingest ]

# For a dedicated ingest node (recommended for heavy pipeline processing)
node.roles: [ ingest ]

After editing, restart the Elasticsearch service:

bash
sudo systemctl restart elasticsearch

Wait for the node to rejoin the cluster and verify the role was applied using the Nodes API from step 1.

3Disable pipeline if ingest is not needed

If you don't actually need ingest pipeline processing, disable it in your client configuration.

For APM Server, edit apm-server.yml:

yaml
output.elasticsearch:
  hosts: ["localhost:9200"]
  pipeline: _none

For Filebeat or other Beats:

yaml
output.elasticsearch:
  hosts: ["localhost:9200"]
  pipeline: ""

Restart the service after making changes.

4Verify pipeline execution after fix

Test that ingest pipelines are now working by creating a simple test pipeline:

bash
# Create a test pipeline
curl -X PUT "localhost:9200/_ingest/pipeline/test-pipeline" -H 'Content-Type: application/json' -d'
{
  "description": "Test pipeline",
  "processors": [
    {
      "set": {
        "field": "test_field",
        "value": "test_value"
      }
    }
  ]
}
'

# Index a document using the pipeline
curl -X POST "localhost:9200/test-index/_doc?pipeline=test-pipeline" -H 'Content-Type: application/json' -d'
{
  "message": "test"
}
'

If successful, the document will be indexed with the additional test_field. You can verify with:

bash
curl -X GET "localhost:9200/test-index/_search"

Advanced notes

Dedicated Ingest Nodes for Production

For clusters with heavy ingest workloads (high-volume log ingestion, complex pipeline transformations), consider deploying dedicated ingest nodes. These nodes should have the ingest role exclusively and be sized with adequate CPU and memory for processor-intensive operations.

Example dedicated ingest node configuration:

yaml
node.roles: [ ingest ]

Default Node Roles

If you don't explicitly set node.roles in elasticsearch.yml, Elasticsearch assigns default roles including master, data, ingest, ml, and transform. The error only occurs when roles are explicitly configured and ingest is omitted.

Kubernetes and ECK Deployments

In Kubernetes environments using Elastic Cloud on Kubernetes (ECK), ensure your NodeSet specifications include the ingest role:

yaml
spec:
  nodeSets:
  - name: default
    count: 3
    config:
      node.roles: ["master", "data", "ingest"]

APM Server Considerations

APM Server by default requires ingest nodes for its internal pipeline processing. While you can disable this with pipeline: _none, doing so means you lose APM's built-in data enrichment capabilities. It's generally better to ensure ingest nodes are available.

Frequently asked questions

What does "IllegalStateException: There are no ingest nodes in this cluster, unab" mean?
This error is thrown by Elasticsearch's IngestActionForwarder when it tries to route a document processing request to an ingest node but cannot find any nodes with the ingest role in the cluster. Ingest nodes are responsible for executing ingest pipelines, which transform and enrich documents before they are indexed. When you use features that rely on ingest pipelines—such as APM Server, monitoring, Filebeat with pipelines, or custom ingest processors—Elasticsearch needs to forward these requests to a node capable of handling pipeline processing.
How do I fix "IllegalStateException: There are no ingest nodes in this cluster, unab"?
This error occurs when Elasticsearch attempts to execute an ingest pipeline but no nodes in the cluster have the ingest role enabled. The cluster needs at least one ingest node to process pipeline requests.
What causes "IllegalStateException: There are no ingest nodes in this cluster, unab"?
All nodes in the cluster are configured without the ingest role in elasticsearch.yml Nodes are configured as dedicated master or data nodes without ingest capability APM Server or Beats configured to use pipelines but cluster lacks ingest nodes
Is the "IllegalStateException: There are no ingest nodes in this cluster, unab" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading