Hive JDBC连接给出NoClassDefFoundError

时间:2014-06-24 11:05:00

标签: java jdbc hive

我正在尝试为我的本地配置单元服务器实例(thrift)创建连接和getMataData()。

以下是我正在尝试的代码:

Class cl = Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
Connection conn = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
DatabaseMetaData data = conn.getMetaData();
System.out.println(data.toString());

但我得到以下例外:

  

线程中的异常" main" java.lang.NoClassDefFoundError:   org / apache / hadoop / hive / metastore / api / MetaException at   org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)     在java.sql.DriverManager.getConnection(DriverManager.java:582)at   java.sql.DriverManager.getConnection(DriverManager.java:185)at   my.work.DataSourceConnectionCheck.checkHiveConnection(DataSourceConnectionCheck.java:23)     在   my.work.DataSourceConnectionCheck.main(DataSourceConnectionCheck.java:67)   引起:java.lang.ClassNotFoundException:   org.apache.hadoop.hive.metastore.api.MetaException at   java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(URLClassLoader.java:190)at   java.lang.ClassLoader.loadClass(ClassLoader.java:306)at   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at at   java.lang.ClassLoader.loadClass(ClassLoader.java:247)... 5更多

任何人都可以让我知道我错过了哪个罐子吗?

1 个答案:

答案 0 :(得分:3)

org.apache.hadoop.hive.metastore.api.MetaException类位于hive-metastore jar文件