客户端连接服务器的产生的问题

来源: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) [hiveexec3.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回答

Michael_PK

2020-02-19

1.你的thriftserver启动成功没,jps是否有这进程。2.你的beeline一定要在sparkhome的bin下使用./beeline来执行,因为怕你机器有hive,两者都有beeline怕有冲突

0
3
KelvinChung
非常感谢!
2020-02-19
共3条回复

SparkSQL入门 整合Kudu实现广告业务数据分析

大数据工程师干货课程 带你从入门到实战掌握SparkSQL

535 学习 · 192 问题

查看课程