apache/hadoop · error · IOException
Bad journal uri. Please check configuration for hdfs.fedbala
Error message
Bad journal uri. Please check configuration for hdfs.fedbalance.procedure.scheduler.journal.uri
What it means
Error "Bad journal uri. Please check configuration for hdfs.fedbalance.procedure.scheduler.journal.uri" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcServer.java:662
* /journal/router-namespace/host0
* In non-ha mode the journal path is based on ip and port:
* JOURNAL_BASE/host_port
* e.g.
* /journal/0.0.0.0_8888
*/
private void initRouterFedRename() throws IOException {
routerRenameOption = RouterRenameOption.valueOf(
conf.get(DFS_ROUTER_FEDERATION_RENAME_OPTION,
DFS_ROUTER_FEDERATION_RENAME_OPTION_DEFAULT).toUpperCase());
switch (routerRenameOption) {
case DISTCP:
RouterFederationRename.checkConfiguration(conf);
Configuration sConf = new Configuration(conf);
URI journalUri;
try {
journalUri = new URI(sConf.get(SCHEDULER_JOURNAL_URI));
} catch (URISyntaxException | NullPointerException e) {
throw new IOException("Bad journal uri. Please check configuration for "
+ SCHEDULER_JOURNAL_URI);
}
Path child;
String nsId = DFSUtil.getNamenodeNameServiceId(conf);
String namenodeId = HAUtil.getNameNodeId(conf, nsId);
InetSocketAddress listenAddress = this.rpcServer.getListenerAddress();
if (nsId == null || namenodeId == null) {
child = new Path(
listenAddress.getHostName() + "_" + listenAddress.getPort());
} else {
child = new Path(nsId, namenodeId);
}
String routerJournal = new Path(journalUri.toString(), child).toString();
sConf.set(SCHEDULER_JOURNAL_URI, routerJournal);
fedRenameScheduler = new BalanceProcedureScheduler(sConf);
fedRenameScheduler.init(true);
break;
case NONE:View on GitHub (pinned to 2add963021)
Solutions
- Set hdfs.fedbalance.procedure.scheduler.journal.uri to a valid URI (e.g. hdfs://ns/journal or file:///path).
- Fix URI syntax errors (missing scheme, illegal characters) in the configuration.
- Ensure the scheme is supported and the path is writable by the Router.
When it happens
Trigger: FedBalance scheduler journal URI failed to parse during RouterRpcServer initialization.
Common situations: Missing or malformed hdfs.fedbalance.procedure.scheduler.journal.uri property when enabling router fedbalance.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/82dbc0d8ffbd06c9.
Report an issue: GitHub.