All Products
Search
Document Center

E-MapReduce:DataNode Xceiver limit exception

Last Updated:Mar 26, 2026

This topic describes how to resolve the DataNode Xceiver limit exception.

If you receive the following error, the DataNode has exhausted its Xceiver thread pool and cannot accept more concurrent read or write connections.

Error message

java.io.IOException: Xceiver count xxxx exceeds the limit of concurrent xcievers: xxxx

Cause

The dfs.datanode.max.transfer.threads parameter controls the size of the thread pool that a DataNode uses to process read and write data streams. The default value is 4096. Under high-concurrency workloads—such as many parallel read or write jobs running simultaneously—the thread pool can be exhausted, triggering the error above.

Solution

Increase the value of dfs.datanode.max.transfer.threads in the Hadoop Distributed File System (HDFS) service configuration.

  1. Log on to the EMR on ECS console.

  2. In the top navigation bar, select the region where your cluster resides and select a resource group.

  3. Open the Configure tab of the HDFS service:

    1. On the EMR on ECS page, find the target cluster and click Services in the Actions column.

    2. Click the Services tab, find the HDFS service, and click Configure.

  4. On the Configure tab, enter dfs.datanode.max.transfer.threads in the search box to locate the parameter, then increase its value.

    A common starting point is to double the current value—for example, set it to 8192 or 16384.