我很难通过直线连接到配置单元服务器。在我的服务器上(名为Sun,此服务器上的所有操作(,在hive文件夹中,我可以以./bin/beeline
启动beeline,然后连接到hive:!connect jdbc:hive2://
,然后我成功连接到我的hive,我可以运行hive-sql语句。
然而,当我尝试./bin/beeline -u jdbc:hive2://localhost:10000 -n hive -p mypassword
时,我无法直接连接到蜂箱,并出现错误消息";错误:无法使用JDBC Uri:JDBC:hive2://localhost:10000打开客户端传输";
我试过关注很多帖子(例如,beeline无法连接到hive2server,使用beeline连接到Hive,无法连接到beeline hive2(,但我仍然找不到解决方案。为什么我不能连接localhost:10000(或者它是这台Sun机器的IP(?
有人知道我为什么会出现这样的错误以及如何解决吗?
hadoop@Sun:/opt/apache-hive-3.1.2-bin$ ./bin/beeline
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/apache-hive-3.1.2-bin/lib/log4j-slf4j-impl-
2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/hadoop-3.2.2/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Beeline version 3.1.2 by Apache Hive
beeline> !connect jdbc:hive2://
Connecting to jdbc:hive2://
Enter username for jdbc:hive2://: hive
Enter password for jdbc:hive2://: ****
21/06/14 23:02:10 [main]: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Hive Session ID = ae2fb753-de6d-4522-b128-770b1c358c8b
21/06/14 23:02:11 [main]: WARN session.SessionState: METASTORE_FILTER_HOOK will be ignored, since hive.security.authorization.manager is set to instance of HiveAuthorizerFactory.
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://> show databases;
OK
+----------------+
| database_name |
+----------------+
| default |
| testwimp |
| wimp |
+----------------+
3 rows selected (1.978 seconds)
0: jdbc:hive2://> !connect jdbc:hive2://localhost:10000
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: hive
Enter password for jdbc:hive2://localhost:10000: ****
21/06/14 23:02:57 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000
Could not open connection to the HS2 server. Please check the server URI and if the URI is correct, then ask the administrator to check the server status.
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (Connection refused) (state=08S01,code=0)
0: jdbc:hive2://>
这里有一个详细的答案:
https://www.programmersought.com/article/93495333620/
总之,检查hiverserver2是否已启动,端口号10000是否打开。