java - Oozie 无法通过 Cloudera Manager 创建 MySQL 数据库 : java. lang.ClassNotFoundException : com. mysql.jdbc.Driver

标签 java mysql cloudera oozie

这让我完全难住了。我在 Amazon EC2 Ubuntu 实例上使用 Cloudera Manager 来启动带有 MySQL 的 Oozie。我尝试阅读有关 jdbc 和 MySQL 的所有其他问题,并在过去两天尝试了很多事情来尝试设置此设置,但它仍然失败。每一个。时间。

我已经尝试将 mysql-connector-java-5.1.25-bin.jar 添加到几乎每个用于 oozie 和 java 的/lib/文件夹中。它位于以下位置:

/home/oozie_lib/oozie-workflows/lib/mysql-connector-java-5.1.25-bin.jar
/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/mysql-connector-java-5.1.25-bin.jar
/usr/lib/hive/lib/mysql-connector-java-5.1.25-bin.jar
/usr/lib/oozie/lib/mysql-connector-java-5.1.25-bin.jar
/usr/share/java/mysql-connector-java-5.1.25-bin.jar

但是,当我尝试使用 Cloudera Manager 在 oozie 中创建新数据库时,我遇到了以下问题:

Error: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Stack trace for the error was (for debug purposes):
--------------------------------------
java.lang.Exception: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:473)
    at org.apache.oozie.tools.OozieDBCLI.createDB(OozieDBCLI.java:179)
    at org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:118)
    at org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:64)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    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)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.oozie.tools.OozieDBCLI.createConnection(OozieDBCLI.java:462)
    at org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:469)
    ... 3 more
--------------------------------------

这是我的/etc/environment:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64/jre"
CLASSPATH="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib:."

关于从这里去哪里的任何提示/指示?

最佳答案

根据 OQ,我知道这为时已晚。对于 future 的用户,

我遇到了类似的问题(VALIDATE DB 步骤异常),我的错误是在 oozie.service.JPAService.jdbc.driver 属性中附加了一个空格 < strong>/etc/oozie/conf/oozie-site.xml

    <value>com.mysql.jdbc.Driver </value>

更正为,

    <value>com.mysql.jdbc.Driver</value>

关于java - Oozie 无法通过 Cloudera Manager 创建 MySQL 数据库 : java. lang.ClassNotFoundException : com. mysql.jdbc.Driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852682/

相关文章:

java - 如何使用Java代码获取datadog监视器上收集的指标?

java - Resttemplate JUNIT Exchange方法未解决

Java Web 启动 - 如何检测应用程序何时关闭?

php - UTF-8贯穿始终

MySQL Cross Join 与 concat 字段

mysql - 将图片插入sql表时出错

apache-spark - Amazon EMR 上的 Livy Server 在连接到 ResourceManager 时挂起

hadoop - Cloudera REST Api获取任务资源

java - 更改在 HTTP 请求中发送的字符串编码类型

hadoop - 执行前配置单元查询执行估计的强度