You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JCEKS文件创建Hadoop凭证时遇UnsupportedFileSystemException错误

Hadoop凭证创建报错:UnsupportedFileSystemException 解决方法

问题场景

尝试创建Hadoop凭证时,初始计划执行的命令:

hadoop credential create mysql.password -provider jceks://file/home/mahadev.duary/credential.jceks 

实际执行的命令:

[mahadev.duary@ip-10-0-20-183 ~]$  hadoop credential create mysql.banking.password -provider jceks://home/mahadev.duary/credential.jceks

执行后抛出核心错误:

org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "home"
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3273)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3293)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:120)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3344)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3312)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:478)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
        at org.apache.hadoop.security.alias.JavaKeyStoreProvider.initFileSystem(JavaKeyStoreProvider.java:89)
        at org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider.<init>(AbstractJavaKeyStoreProvider.java:85)
        at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:49)
        at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:41)
        at org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory.createProvider(JavaKeyStoreProvider.java:100)
        at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:73)
        at org.apache.hadoop.security.alias.CredentialShell$Command.getCredentialProvider(CredentialShell.java:193)
        at org.apache.hadoop.security.alias.CredentialShell$CreateCommand.validate(CredentialShell.java:357)
        at org.apache.hadoop.security.alias.CredentialShell.run(CredentialShell.java:81)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.security.alias.CredentialShell.main(CredentialShell.java:472)

错误原因

实际执行的命令中,-provider参数的路径格式错误:缺少file协议标识,导致Hadoop将路径开头的home识别为文件系统协议(scheme),但Hadoop并没有实现名为home的文件系统,因此抛出该异常。

解决方法

修正-provider参数的路径格式,添加file协议标识,正确的命令如下:

hadoop credential create mysql.banking.password -provider jceks://file/home/mahadev.duary/credential.jceks

若目标路径是当前用户的家目录,也可以使用完整绝对路径写法(需确保路径存在且有读写权限):

hadoop credential create mysql.banking.password -provider jceks://file///home/mahadev.duary/credential.jceks

补充说明

执行时出现的SLF4J类路径多绑定提示属于警告,不影响凭证创建功能。若要消除该警告,可清理Hadoop类路径中重复的SLF4J相关依赖包。

内容的提问来源于stack exchange,提问作者Mahadev Duary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:35:20