通过jdbc连接到配置单元时发生JavaNoSuchMethodError

nvbavucw  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(402)

当我试图从eclipse中的一个简单java程序连接到hive时,出现以下错误。看起来它连接了然后抛出了这个错误。我可以连接到Hive节约服务器本地通过直线没有问题。
两个libthrift.jar文件都是0.9.2。在客户端和服务器上相同。以下.jar文件的服务器和客户端版本相同:

hive-jdbc*.jar              1.2.0
hive-service*.jar           1.2.0
libfb303-0.9.0.jar          0.9.2
libthrift-0.9.0.jar         0.9.2
log4j-1.2.16.jar            1.2.16
slf4j-api-1.6.1.jar         1.7.5
slf4j-log4j12-1.6.1.jar     1.7.5
commons-logging-1.0.4.jar   1.1.3

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class;
       at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_args.write(TCLIService.java:1854)
       at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
       at org.apache.hive.service.cli.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:150)
       at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:142)
       at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:578)
       at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:192)
       at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
       at java.sql.DriverManager.getConnection(Unknown Source)
       at java.sql.DriverManager.getConnection(Unknown Source)

我使用的libthrift版本被apache列为具有getscheme()方法。
任何帮助都将不胜感激!

uemypmqf

uemypmqf1#

确保在类路径中包含了所需的jar文件。正如你所说,这是在你的本地工作,那么我猜你是这样做的。如果它在实际服务器上不起作用,那么请确保您已经部署了所需的jar。

相关问题