Created 01-06-2017 04:28 PM
I am trying to access the local databases for ambari and oozie from Zeppelin Notebook. But I guess the mysql interpreter is not working properly. I am following this link to configure mysql interpreter https://zeppelin.apache.org/docs/0.6.1/interpreter/jdbc.html.
Input:
%jdbc(mysql)
show databases
Error Message:
com.mysql.jdbc.Driver class java.lang.ClassNotFoundException java.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) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:264) org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:214) org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:275) org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:336) org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:442) org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94) org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341) org.apache.zeppelin.scheduler.Job.run(Job.java:176) org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745)
Created 01-13-2017 08:50 PM
The problem has been fixed. Zeppelin couldn't find some dependencies. I have followed the following link to fix it:
Created 01-06-2017 04:34 PM
As from the StackTrace it is not clear that "ClassNotFoundException" is coming for which class. But i suspect that it might be due to the JDBC Driver.
Can you please check if you have edited the dependencies artifact(ex. mysql:mysql-connector-java:5.1.38
) in interpreter. I mean adding JDBC driver to the Zeppelin classpath.
.
Created 01-06-2017 05:04 PM
Thanks for your help.
I have added the following jar in dependencies artifact: /usr/share/java/mysql-connector-java-5.1.29.jar
Still getting this error. Is this related to user and password information ?
java.lang.ClassNotFoundException: org.apache.hadoop.security.UserGroupInformation$AuthenticationMethod at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.zeppelin.jdbc.security.JDBCSecurityImpl.getAuthtype(JDBCSecurityImpl.java:66) at org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:217) at org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:275) at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:336) at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:442) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341) at org.apache.zeppelin.scheduler.Job.run(Job.java:176) at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Created 01-06-2017 05:07 PM
Can you please double check if you have added the following properties to core-site.xml. Specially "hadoop.proxyuser.zeppelin.users"
hadoop.proxyuser.zeppelin.users=* hadoop.proxyuser.zeppelin.hosts=* hadoop.proxyuser.zeppelin.groups=*
.
Created 01-06-2017 05:44 PM
Additionally the "UserGroupInformation" class is present inside the "hadoop-auth.jar" file. Hence please check & copy this JAR to "/usr/hdp/2.5.0.0-1245/zeppelin/interpreter/jdbc" ( in your case the '2.5.0.0-1245' version might be different)
Then restart the Zeppelin.
Created 01-06-2017 09:41 PM
Thanks for your help. I did both of the above mentioned steps but still same error is showing up. Zeppelin is installed on the edge node in a 14 node cluster. Regarding mysql interpreter, following is the configuration:
mysql.driver-->com.mysql.jdbc.Driver
mysql.password
mysql.url-->jdbc:mysql://localhost:3306/
mysql.user-->root
Created 01-13-2017 04:15 PM
Created 01-13-2017 08:50 PM
The problem has been fixed. Zeppelin couldn't find some dependencies. I have followed the following link to fix it: