使用jceks密码文件的Hadoop凭据

11dmarpk  于 2023-11-16  发布在  Hadoop
关注(0)|答案(1)|浏览(310)

创建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
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/aws/emr/emrfs/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
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)


https://i.stack.imgur.com/4sWTa.png
https://i.stack.imgur.com/SBJKO.png

sqougxex

sqougxex1#

您的错误的结尾表明您尚未在core-site.xml中配置提供程序。请参阅configuration -https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html上的文档
如果你想配置一些Hadoop客户端,比如Spark或Sqoop,那么你应该把你的凭证文件放在一个共享的位置,比如S3,然后你可以使用像jcecks://s3@这样的路径,根据文档,否则它会在每个YARN节点上寻找相同的文件路径,而不仅仅是你的本地节点

相关问题