Java連線hive報錯01
阿新 • • 發佈:2019-02-06
這個錯誤是hive的版本的包導致的。
java.sql.SQLException: Could not establish connection to jdbc:hive2://hadoop2:10000/default: Required field 'serverProtocolVersion' is unset! Struct:TOpenSessionResp(status:TStatus(statusCode:SUCCESS_STATUS), serverProtocolVersion:null, sessionHandle:TSessionHandle(sessionId:THandleIdentifier(guid:AC 5 A 2E B8 FB ED 48 35 BA F5 0C 58 28 E2 FB 56, secret:BD 9D 67 70 F3 4A 4B 03 A4 E1 58 86 AF 02 BE 2C)), configuration:{})
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:246)
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:132)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105 )
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at cn.orcale.com.project.CDHHiveJdbcCli.main(CDHHiveJdbcCli.java:24)
Caused by: org.apache.thrift.protocol.TProtocolException: Required field 'serverProtocolVersion' is unset! Struct:TOpenSessionResp(status:TStatus(statusCode:SUCCESS_STATUS), serverProtocolVersion:null, sessionHandle:TSessionHandle(sessionId:THandleIdentifier(guid:AC 5A 2E B8 FB ED 48 35 BA F5 0C 58 28 E2 FB 56, secret:BD 9D 67 70 F3 4A 4B 03 A4 E1 58 86 AF 02 BE 2C)), configuration:{})
at org.apache.hive.service.cli.thrift.TOpenSessionResp.validate(TOpenSessionResp.java:578)
at org.apache.hive.service.cli.thrift.TOpenSessionResp$TOpenSessionRespStandardScheme.read(TOpenSessionResp.java:676)
at org.apache.hive.service.cli.thrift.TOpenSessionResp$TOpenSessionRespStandardScheme.read(TOpenSessionResp.java:612)
at org.apache.hive.service.cli.thrift.TOpenSessionResp.read(TOpenSessionResp.java:520)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result$OpenSession_resultStandardScheme.read(TCLIService.java:2041)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result$OpenSession_resultStandardScheme.read(TCLIService.java:2026)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result.read(TCLIService.java:1973)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
at org.apache.hive.service.cli.thrift.TCLIService$Client.recv_OpenSession(TCLIService.java:144)
at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:131)
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:237)
... 5 more
解決辦法:
在cdh中或者apache版本中將下列hive包取出來,載入到Eclipse中
如果您喜歡我寫的博文,讀後覺得收穫很大,不妨小額贊助我一下,讓我有動力繼續寫出高質量的博文,感謝您的讚賞!!!