これは私を完全に困惑させました。Amazon EC2 Ubuntu インスタンスで Cloudera Manager を使用して、MySQL で Oozie を起動しています。jdbc と MySQL に関する他のすべての質問を読んでみました。この 2 日間、この設定を行うために多くのことを試しましたが、それでも失敗します。毎日。時間。
私は 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:."
ここからどこへ行くべきかについてのヒント/ポインタはありますか?