Resolve the Xceiver count limit exception on a DataNode by increasing the transfer thread pool size.
Error message
java.io.IOException: Xceiver count xxxx exceeds the limit of concurrent xceivers: xxxx
Cause
The dfs.datanode.max.transfer.threads parameter controls the thread pool size that a DataNode uses to handle read and write data streams. The default value is 4096. If this value is too low, the DataNode throws an Xceiver count limit exception.
Procedure
-
Log on to the E-MapReduce console.
-
In the top navigation bar, select the appropriate region and resource group.
-
Navigate to the configuration page of the HDFS service.
-
On the Clusters page, find your cluster and click Services in the actions column.
-
On the Services page, click Configure in the HDFS section.
-
-
In the configuration search area, search for the parameter dfs.datanode.max.transfer.threads and increase its value, for example, by doubling it to 8192 or 16384.
NoteThe dfs.datanode.max.transfer.threads parameter controls the thread pool size for handling read and write data streams on a DataNode. The default value is 4096.