我已经部署了zeppelin 0.6并在Jdbc解释器下配置了hive。
尝试执行
%hive
show databases
抛出:
org.apache.hive.jdbc.HiveDriver类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(本机方法) java.lang.Class.forName(Class.java:264) org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220) org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233) org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292) org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:398) org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94) org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer $ InterpretJob.jobRun(RemoteInterpreterServer.java:383) 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)
答案 0 :(得分:8)
我今天早上遇到了这个问题。我不确定这是否是推荐的修复方法,但我下载了Hive 1.2和Hadoop 2.6.4的二进制包。然后我将以下jar复制到./interpreter/jdbc/
并重新加载zeppelin ./bin/zeppelin-daemon.sh reload
cp ~/Dev/Hadoop/apache-hive-1.2.1-bin/lib/hive-jdbc-1.2.1-standalone.jar ./interpreter/jdbc/
cp ~/Dev/Hadoop/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar ./interpreter/jdbc/
答案 1 :(得分:0)
1) 您可以只下载Hive JDBC驱动程序而不是整个Hive jar集,例如Cloudera中的一个:
http://www.cloudera.com/downloads/connectors/hive/jdbc/2-5-17.html
2)
以0.14开头的Hive将为JDBC部分提供一个独立的jar:
蜂房JDBC-standalone.jar
但在https://issues.apache.org/jira/browse/HIVE-9600解决之前, 你还需要两个罐子:
Hadoop的common.jar
Hadoop的auth.jar
与hive-jdbc-standalone.jar
一起放入classpath答案 2 :(得分:0)
此处给出的最高评价答案解决了问题
但是我已经将HADOOP_HOME的类路径添加到interpreter.sh中以共享jar文件
以下是我在zeppelin
中添加到bin / interpreter.sh的行HADOOP_HOME=/opt/hadoop-2.6.2/
addJarInDirForIntp "${HADOOP_HOME}/share/hadoop/common