【问题标题】:HBase client - java.lang.ClassNotFoundException: org.apache.hadoop.crypto.key.KeyProviderTokenIssuerHBase 客户端 - java.lang.ClassNotFoundException: org.apache.hadoop.crypto.key.KeyProviderTokenIssuer
【发布时间】:2020-07-17 12:04:42
【问题描述】:

我正在尝试运行一个连接到 HBase 的旧项目。

它具有(以及其他依赖项):

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

当应用程序启动并在org.apache.hadoop.hbase.client.ConnectionFactory 类中的createConnection 方法内到达此代码时:

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

一个异常被抛出并被捕获,说:

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

所以我在 Google 中寻找此类 KeyProviderTokenIssuer,但没有找到它应该来自哪里。

为什么系统试图使用这个类,我应该从哪里得到它? Crypto 包不是 hbase-client 依赖项的一部分,我在 https://mvnrepository.com/ 中看不到这种情况

这里可能有一些库不匹配吗?

我在 Windows 上运行。有关系吗?

【问题讨论】:

    标签: java reflection hbase hbase-client


    【解决方案1】:

    在执行了几个步骤后,我能够克服这个问题:

    • this post之后,我下载了hadoop-common-2.2.0-bin-master.zip的文件并完全解压到C:\Program Files\apache\hadoop\bin的文件夹中

    • 我将HADOOP_HOME 参数添加到系统变量中,指向C:\Program Files\apache\hadoop

    • 我在PATH 变量中添加了%HADOOP_HOME%\bin 的值

    • 由于我的 Hadoop 是 2.6.0 版,我检查并确保所有与 Hadoop 相关的依赖项都在该版本中。

    • 我运行 mvn dependency:tree 并发现其中一个依赖 jar 带有 org.apache.hadoop:hadoop-hdfs-client:jar:3.2.0 的 jar,因此我将其从依赖中排除:

      <dependency>
          <groupId>com.example</groupId>
          <artifactId>bla</artifactId>
          <version>1.0.1</version>
          <exclusions>
              <exclusion>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-hdfs-client</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      

    一些对我有帮助的网址:

    【讨论】:

    • 您好,您能否详细说明一下您为什么特别排除hadoop-hdfs-client
    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多