我正在尝试使用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)
最佳答案
方法SessionState.setUserIpAddress
是Hive 1.0的新功能
在r0.13.1中,此方法尚不存在,
在r1.0.1中。
请将您的hive-exec升级到版本> 1.0.1,以使其正常工作。
关于java - 使用beeline或java jdbc代码时,配置单元抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764968/