2017-07-29 41 views
0

我也添加所有jar文件的usr/local/share/hadoop/mapreduce/* jar,usr/local/hadoop/common ,hive-exec-xxx.jar,hive-metastore-xxx.jar和hive-jdbc-xxx.jar。java.lang.ClassNotFoundException:在eclipse中的org.apache.hadoop.hive.jdbc.HiveDriver

蜂巢終端運行良好。

我的代碼是:

private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; 

try { 
     Class.forName(driverName); 
     Connection con; 

     con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", ""); 

     Statement stmt = con.createStatement(); 

     stmt.executeQuery("CREATE DATABASE demodb"); 
     System.out.println("Database userdb created successfully."); 

     con.close(); 

    } catch (ClassNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

例外:

java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriver 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at hive.CRUDHive.main(CRUDHive.java:15) 
+0

我建議您使用Maven/Gradle如果你真的想要在項目中包含Hadoop庫。 Apache Spark也可以更容易地集成到您的Hadoop代碼中 –

+0

您的驅動程序類不在您的運行時類路徑中。如果你可以使用cricket_007建議,那會更好。 – dumitru

+0

我是hadoop中的新成員,你能解釋我如何檢查驅動程序類是否在正確的類路徑中。 –

回答

0

在你的代碼蜂巢驅動程序類被錯誤地提及。它如下 d如下

private static String driverName =「org.apache.hive.jdbc.HiveDriver」;

如果上述更改無法解決您的問題,那麼這意味着jar文件不在您需要明確添加的類路徑中。

對於基於maven的項目,您可以添加hive-jdbc jar的依賴項。

如果你不使用Maven然後在eclipse執行以下步驟:

選擇項目 - >構建路徑 - >配置構建路徑 - >庫 - > 添加外部JAR - >選擇蜂巢的路徑-jdbc /蜂房EXEC /蜂巢服務罐子

隨着你將需要添加其他依賴jar作爲HTTP的核心,HTTP客戶端,Hadoop的通用,共享記錄,SLF4J罐子蜂巢罐子。

+0

將「org.apache.hadoop.hive.jdbc.HiveDriver」更改爲「org.apache.hive.jdbc.HiveDriver」後顯示錯誤「找不到適用於jdbc:hive:// localhost:10000/default」的驅動程序。 –

+0

您是否將依賴項jar添加到類路徑中? –

+0

同時在形成連接字符串時,您需要使用「jdbc:hive2:// /」 –

0

確保該JAR(蜂巢)你想..因爲它有diferent版本 舊verison罐子

org.apache.hadoop.hive.jdbc.HiveDriver 

這裏是mvnrepository

和最新的罐子是org.apache.hive.jdbc.HiveDriverhere is the new settings

請檢查您的依賴關係請

相關問題