我正在尝试使用JDBC
代码连接到我的服务器,但它会出现以下错误。
我查了一下,发现SessionState
类是hive-exec-0.14.0.jar
的成员。我可以在hive类路径中看到这个jar。当我在apache文档中检查此类时,方法setUserIpAddress不可用。任何有关这方面的帮助将不胜感激。
2016-01-13 03:15:18,443 INFO [HiveServer2-Handler-Pool: Thread-24]: thrift.ThriftCLIService (ThriftCLIService.java:OpenSession(232)) - Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V6
2016-01-13 03:15:18,444 ERROR [HiveServer2-Handler-Pool: Thread-24]: thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing OpenSession java.lang.NoSuchMethodError:
org.apache.hadoop.hive.ql.session.SessionState.setUserIpAddress(Ljava/lang/String;)
at org.apache.hive.service.cli.session.HiveSessionImpl.<init>(HiveSessionImpl.java:112)
at org.apache.hive.service.cli.session.HiveSessionImplwithUGI.<init>(HiveSessionImplwithUGI.java:47)
at org.apache.hive.service.cli.session.SessionManager.openSession(SessionManager.java:260)
at org.apache.hive.service.cli.CLIService.openSessionWithImpersonation(CLIService.java:175)
at org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(ThriftCLIService.java:322)
at org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(ThriftCLIService.java:235)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1253)
at org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1238)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)