You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2014/09/16 22:32:34 UTC
[jira] [Commented] (HDFS-7075) hadoop-fuse-dfs fails because it
cannot find JavaKeyStoreProvider$Factory
[ https://issues.apache.org/jira/browse/HDFS-7075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14136144#comment-14136144 ]
Colin Patrick McCabe commented on HDFS-7075:
--------------------------------------------
The solution here seems to be to use the same classloader that was used to load the {{KeyProviderFactory}}. For some reason, when libhfds uses the JNI "invocation API", the classloader default seems to be unhelpful compared with the default when using a pure java client.
> hadoop-fuse-dfs fails because it cannot find JavaKeyStoreProvider$Factory
> -------------------------------------------------------------------------
>
> Key: HDFS-7075
> URL: https://issues.apache.org/jira/browse/HDFS-7075
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.6.0
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Attachments: HDFS-7075.001.patch
>
>
> hadoop-fuse-dfs fails complaining with:
> {code}
> java.util.ServiceConfigurationError: org.apache.hadoop.crypto.key.KeyProviderFactory: Provider org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory not found
> {code}
> Here is an example of the hadoop-fuse-dfs debug output.
> {code}
> 14/09/04 13:49:04 WARN crypto.CryptoCodec: Crypto codec org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec is not available.
> hdfsBuilderConnect(forceNewInstance=1, nn=hdfs://hdfs-cdh5-secure-1.vpc.cloudera.com:8020, port=0, kerbTicketCachePath=/tmp/krb5cc_0, userName=root) error:
> java.util.ServiceConfigurationError: org.apache.hadoop.crypto.key.KeyProviderFactory: Provider org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory not found
> at java.util.ServiceLoader.fail(ServiceLoader.java:231)
> at java.util.ServiceLoader.access$300(ServiceLoader.java:181)
> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:365)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)