我正在尝试使用JDBC访问Hive元数据。我添加了类路径中所需的所有jar文件。我从这里开始关注教程 - https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-JDBC
添加所有jar文件后,我尝试编写一个示例程序,使用Java连接到Hive。当我调试代码时,只要它到达下面一行。
Connection con =
DriverManager.getConnection("jdbc:hive://lvsaishdc3in0001.lvs.host.com:10000/
default","", "");
我总是得到这个例外。不知道为什么会这样。任何人都可以帮我解决这个问题吗?
java.sql.SQLException: Could not establish connection to
lvsaishdc3in0001.lvs.host.com:10000/default: java.net.ConnectException: Connection
timed out: connect
我通过登录Putty并传递主机名来启动我的Hive服务器。
$ bash
bash-3.00$ cd /usr/local/bin
bash-3.00$ hive --service hiveserver
Starting Hive Thrift Server
12/07/03 08:07:11 INFO service.HiveServer: Starting hive server on port 10000
答案 0 :(得分:1)
Hive服务器本身非常不安全。它不需要用户名/密码进行身份验证。根据我的经验,最典型的配置是在与应用程序相同的盒子上启动Hive服务器,确保此框连接到Hadoop集群并保护此框。通过这种方式,您的连接字符串为jdbc:hive://localhost:10000
,安全性不再是您的头痛,但是您的网络人员会头疼。