Jdbc Hive2无效Url异常

Jdbc Hive2无效Url异常,jdbc,hive,sqlexception,Jdbc,Hive,Sqlexception,我有一个Hortonwork集群(Linux),希望使用JDBC将数据从远程主机加载到配置单元中。 我正在尝试让JDBC连接首先在集群上本地工作,以便在远程尝试之前知道我已经正确地完成了 Hive已成功安装,我可以通过直线连接,没有任何问题: /usr/lib/hive/bin/beeline Beeline version 0.13.0.2.1.4.0-632 by Apache Hive beeline> !connect jdbc:hive2://localhost:10000 sc

我有一个Hortonwork集群(Linux),希望使用JDBC将数据从远程主机加载到配置单元中。 我正在尝试让JDBC连接首先在集群上本地工作,以便在远程尝试之前知道我已经正确地完成了

Hive已成功安装,我可以通过直线连接,没有任何问题:

/usr/lib/hive/bin/beeline
Beeline version 0.13.0.2.1.4.0-632 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000
scan complete in 3ms
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: someuser
Enter password for jdbc:hive2://localhost:10000: ******
Connected to: Apache Hive (version 0.13.0.2.1.4.0-632)
Driver: Hive JDBC (version 0.13.0.2.1.4.0-632)
Transaction isolation: TRANSACTION_REPEATABLE_READ
我的java类看起来像:

public class HiveConn {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
public static void main(String[] args) throws SQLException {
HiveConn myJob = new HiveConn();
myJob.execute();
}
public void execute() throws SQLException {
//mLogger.info("Start HiveJob");
System.out.println("Start HiveJob");
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "", "");
//Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "root", "");
//Statement stmt = con.createStatement();
String sql = "SHOW TABLES";
System.out.println("Running: " + sql);
System.out.println("HiveJob executed!");
}
}
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com
例外情况:

Start HiveJob
    Exception in thread "main" java.sql.SQLException: Invalid URL: jdbc:hive2://localhost:10000/default
        at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:86)
        at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:106)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at HiveConn.execute(HiveConn.java:29)
        at HiveConn.main(HiveConn.java:17)
我的ip表配置如下所示:

public class HiveConn {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
public static void main(String[] args) throws SQLException {
HiveConn myJob = new HiveConn();
myJob.execute();
}
public void execute() throws SQLException {
//mLogger.info("Start HiveJob");
System.out.println("Start HiveJob");
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "", "");
//Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "root", "");
//Statement stmt = con.createStatement();
String sql = "SHOW TABLES";
System.out.println("Running: " + sql);
System.out.println("HiveJob executed!");
}
}
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com
我不知道还有什么好尝试的。这可能是我错过的愚蠢的东西。

哦,我找到了。 我使用了错误的驱动器名称,正确的驱动器名称应该是:

private static String driverName = "org.apache.hive.jdbc.HiveDriver";
被怀疑是一个愚蠢的错误