客户端连接服务器的产生的问题
来源:6-3 thriftserver&beeline的使用

KelvinChung
2020-02-19
Connecting to jdbc:hive2://localhost:10000
20/02/19 16:58:35 [main]: ERROR jdbc.HiveConnection: Error opening session
org.apache.thrift.TApplicationException: Required field ‘client_protocol’ is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default})
at org.apache.thrift.TApplicationException.read(TApplicationException.java:111) ~[hive-exec-3.1.2.jar:3.1.2]
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79) ~[hive-exec-3.1.2.jar:3.1.2]
at org.apache.hive.service.rpc.thrift.TCLIServiceClient.recvOpenSession(TCLIService.java:176) [hive−exec−3.1.2.jar:3.1.2]atorg.apache.hive.service.rpc.thrift.TCLIServiceClient.recv_OpenSession(TCLIService.java:176) ~[hive-exec-3.1.2.jar:3.1.2]
at org.apache.hive.service.rpc.thrift.TCLIServiceClient.recvOpenSession(TCLIService.java:176) [hive−exec−3.1.2.jar:3.1.2]atorg.apache.hive.service.rpc.thrift.TCLIServiceClient.OpenSession(TCLIService.java:163) ~[hive-exec-3.1.2.jar:3.1.2]
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:728) [hive-jdbc-3.1.2.jar:3.1.2]
at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:232) [hive-jdbc-3.1.2.jar:3.1.2]
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107) [hive-jdbc-3.1.2.jar:3.1.2]
at java.sql.DriverManager.getConnection(DriverManager.java:664) [?:1.8.0_231]
at java.sql.DriverManager.getConnection(DriverManager.java:208) [?:1.8.0_231]
at org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:145) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:209) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.Commands.connect(Commands.java:1641) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.Commands.connect(Commands.java:1536) [hive-beeline-3.1.2.jar:3.1.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_231]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_231]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_231]
at org.apache.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:56) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.execCommandWithPrefix(BeeLine.java:1384) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:1423) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.connectUsingArgs(BeeLine.java:900) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.initArgs(BeeLine.java:795) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1048) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:538) [hive-beeline-3.1.2.jar:3.1.2]
at org.apache.hive.beeline.BeeLine.main(BeeLine.java:520) [hive-beeline-3.1.2.jar:3.1.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_231]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_231]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_231]
at org.apache.hadoop.util.RunJar.run(RunJar.java:323) [hadoop-common-3.2.1.jar:?]
at org.apache.hadoop.util.RunJar.main(RunJar.java:236) [hadoop-common-3.2.1.jar:?]
20/02/19 16:58:35 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Could not establish connection to jdbc:hive2://localhost:10000: Required field ‘client_protocol’ is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}) (state=08S01,code=0)
Beeline version 3.1.2 by Apache Hive
报了这个错误是为什么呢??
1回答
-
1.你的thriftserver启动成功没,jps是否有这进程。2.你的beeline一定要在sparkhome的bin下使用./beeline来执行,因为怕你机器有hive,两者都有beeline怕有冲突
032020-02-19
相似问题