配置单元jdbc连接noclassdeffounderror

xeufq47z  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(396)

我正在使用Hive2.1.1并尝试创建连接。下面是我正在尝试的代码:

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

public static void main(String[] args) throws SQLException, ClassNotFoundException {
    // Register driver and create driver instance

    Class.forName(driverName);
    // get connection

    Connection con = DriverManager.getConnection("jdbc:hive2://", "", "");
    Statement stmt = con.createStatement();

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

    con.close();
}

以下是我在bashrc中声明的类路径:
classpath=$classpath:/usr/lib/hive/lib/hive-jdbc-2.1.1.jar类路径=$classpath:/usr/local/hadoop/lib/*:。classpath=$classpath:/usr/local/apache-hive-2.1.1-bin/lib
我得到下面的错误。
错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。线程“main”java.lang.noclassdeffounderror中出现异常:org/apache/hadoop/hive/ql/metadata/hiveexception位于org.apache.hive.service.cli.thrift.embeddedthriftbinarycliservice.(embeddedthriftbinarycliservice)。java:33)在org.apache.hive.jdbc.hiveconnection.(hiveconnection。java:163)在org.apache.hive.jdbc.hivedriver.connect(hivedriver。java:107)在java.sql.drivermanager.getconnection(驱动管理器)。java:664)在java.sql.drivermanager.getconnection(drivermanager。java:247)在com.raad.ams.bean.hivejdbc.main(hivejdbc。java:17)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:62)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:498)在com.intellij.rt.execution.application.appmain.main(appmain。java:147)原因:java.lang.classnotfoundexception:org.apache.hadoop.hive.ql.metadata.hiveexception atjava.net.urlclassloader.findclass(urlclassloader。java:381)在java.lang.classloader.loadclass(classloader。java:424)在sun.misc.launcher$appclassloader.loadclass(launcher。java:331)在java.lang.classloader.loadclass(classloader。java:357)
任何帮助都将不胜感激。

kg7wmglp

kg7wmglp1#

我也遇到了类似的问题 noclassdeffound 工作时出错 Robot automation framework 以及 Hive . 看起来是jar兼容性问题。我们通过添加最新的 hive jdbc maven依赖于pom文件,它工作了。您应该检查所有必需的与配置单元相关的jar,并相应地更新它们。

2uluyalo

2uluyalo2#

下面是我的建议:创建一个maven/gradle项目,并在pom中添加hivejdbc。它将下载所有依赖项。
否则请检查此项:依赖项
您需要包括所有在dependencies标签下的jar。

相关问题