Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
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: