org.apache.hive.service.cli.hivesqlexception:java.lang.noclassdeffounderror:org/apache/hadoop/ipc/callercontext$builder

5jdjgkvh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(748)

我正在尝试将我的HiveJDBC客户端连接到hiveserver2。我用的是跟随maven

<dependency>
  <groupId>org.apache.hive</groupId>
  <artifactId>hive-service</artifactId>
  <version>1.2.1000.2.4.2.12-1</version>
</dependency>

hiveserver2.start() started my hiveserver2.

但当我用以下代码启动jdbc客户机时:

val con: Connection = DriverManager
      .getConnection("jdbc:hive2://localhost:10000/default", "", "")
    val stmt: Statement = con.createStatement
stmt.execute("create table if not exists student (id int))

它给了我以下例外:
org.apache.hive.service.cli.hivesqlexception:java.lang.noclassdeffounderror:org/apache/hadoop/ipc/callercontext$builder位于org.apache.hive.jdbc.utils.verifysuccess(utils)。java:256)在org.apache.hive.jdbc.utils.verifysuccesswithinfo(utils。java:242)在org.apache.hive.jdbc.hivestatement.execute(hivestatement。java:254)
有谁能帮我找出原因或解决办法吗。
提前谢谢。

7nbnzgx9

7nbnzgx91#

这可能是由于多个reason:-
相应的jar将不可用,即具有正确版本的hivejdbcdriver jar,例如:“hive-jdbc-1.2.1.jar”,或者有时您可能需要在libraries文件夹或.m2存储库中使用“hive-jdbc-1.2.1-standalone.jar”(取决于您的用例如何)。
或者,也可能是jar没有添加到类路径中(在.classpath文件中为这个jar添加一个条目),这取决于应用程序的构建方式。

相关问题