我想远程启动Hive查询。
为此,我使用的是hive-jdbc库(0.14.0版本)和hadoop-core(1.2.1版本)。
几周前,我发布了以下代码:
try {
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection(
"jdbc:hive://cosmos.lab.fi-ware.org:10000/default", "user",
"password");
Statement stmt = con.createStatement();
String sql = "select * from table_name";
ResultSet res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println("value: " + res.getString(1));
}
它确实有效,但现在我收到了这个错误:
java.sql.SQLException: Could not establish connection to cosmos.lab.fi-ware.org:10000/default: java.net.ConnectException: Conexión rehusada
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:117)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
我看到现在Hive端口(10000)已关闭。
所以,我想知道使用远程配置单元客户端访问宇宙的正确方法是什么,或者如果我必须改变从宇宙中获取数据的方式。