dimanche 5 avril 2020

HBase client - java.lang.ClassNotFoundException: org.apache.hadoop.crypto.key.KeyProviderTokenIssuer

I'm trying to run a legacy project that connects to HBase.

It has (among other dependencies):

    <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
        <version>1.2.0-cdh5.7.2</version>
    </dependency>

When the application starts and reaches this code within the method of createConnection in the class of org.apache.hadoop.hbase.client.ConnectionFactory:

try{
    .... 
    return (Connection) constructor.newInstance(conf, managed, pool, user);
} catch (Exception e) {
  throw new IOException(e);
}

An exception is thrown and caught, saying that:

java.lang.NoClassDefFoundError: org/apache/hadoop/crypto/key/KeyProviderTokenIssuer

So I was looking for this class of KeyProviderTokenIssuer in Google but didn't find where it should come from.

Why the system is trying to use this class and where should I get it from? Crypto package is not part of the hbase-client dependency and I don't see such in https://mvnrepository.com/

Is it possible that there is some library mismatch here?





Aucun commentaire:

Enregistrer un commentaire