创建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的
1条答案
按热度按时间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节点上寻找相同的文件路径,而不仅仅是你的本地节点