apache/hadoop · error · IOException
Cannot locate a registered namenode for {} from {}
Error message
Cannot locate a registered namenode for {} from {} What it means
Error "Cannot locate a registered namenode for {} from {}" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcClient.java:1825
CallerContext.setCurrent(originContext);
}
/**
* Get a prioritized list of NNs that share the same block pool ID (in the
* same namespace). NNs that are reported as ACTIVE will be first in the list.
*
* @param bpId The blockpool ID for the namespace.
* @return A prioritized list of NNs to use for communication.
* @throws IOException If a NN cannot be located for the block pool ID.
*/
private List<? extends FederationNamenodeContext> getNamenodesForBlockPoolId(
final String bpId) throws IOException {
List<? extends FederationNamenodeContext> namenodes =
namenodeResolver.getNamenodesForBlockPoolId(bpId);
if (namenodes == null || namenodes.isEmpty()) {
throw new IOException("Cannot locate a registered namenode for " + bpId +
" from " + router.getRouterId());
}
return namenodes;
}
/**
* Get the nameservice identifier for a block pool.
*
* @param bpId Identifier of the block pool.
* @return Nameservice identifier.
* @throws IOException If a NN cannot be located for the block pool ID.
*/
private String getNameserviceForBlockPoolId(final String bpId)
throws IOException {
List<? extends FederationNamenodeContext> namenodes =
getNamenodesForBlockPoolId(bpId);
FederationNamenodeContext namenode = namenodes.get(0);
return namenode.getNameserviceId();View on GitHub (pinned to 2add963021)
Solutions
- Confirm the namenode has registered in the State Store (dfsrouteradmin -ls).
- Check that the namenode's heartbeat/conf registration includes the nameservice id the Router expects.
- Restart the namenode's NamenodeHeartbeatService if registration stopped.
When it happens
Trigger: The resolver could not find a registered namenode entry matching the requested id/nameservice.
Common situations: Namenode never registered, registration expired, or the Router queried a nameservice with no members.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/ca176816a937d89d.
Report an issue: GitHub.