Java Hive JDBC 连接给出 NoClassDefFoundError
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24384988/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Hive JDBC connection giving NoClassDefFoundError
提问by kn_pavan
I am trying to create a connection and getMataData() for my local hive server instance (thrift).
我正在尝试为我的本地配置单元服务器实例(节俭)创建一个连接和 getMataData()。
Following is the code I am trying:
以下是我正在尝试的代码:
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());
But I am getting following Exception:
但我收到以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/metastore/api/MetaException at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at my.work.DataSourceConnectionCheck.checkHiveConnection(DataSourceConnectionCheck.java:23) at my.work.DataSourceConnectionCheck.main(DataSourceConnectionCheck.java:67) Caused by: 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 java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 5 more
线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/hive/metastore/api/MetaException at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104) at java.sql .DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at my.work.DataSourceConnectionCheck.checkHiveConnection(DataSourceConnectionCheck.java:23) at 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 java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 5 更多
Can any one please let me know which jar I missed?
谁能告诉我我错过了哪个罐子?
采纳答案by DanielBarbarian
The org.apache.hadoop.hive.metastore.api.MetaException
class is in the hive-metastore
jar file
该org.apache.hadoop.hive.metastore.api.MetaException
班是在hive-metastore
jar文件