【发布时间】:2020-07-21 15:10:52
【问题描述】:
我正在努力将 zeppelin 从 0.8.0 升级到 0.9.0。在设置 JDBC 解释器以访问 Postgres 数据库时出现错误。
我在 zeppelin GUI 中创建了“JDBC.postgres”解释器并运行了一个查询。它给出了以下错误。
java.lang.AbstractMethodError: org.apache.zeppelin.interpreter.AbstractInterpreter.getZeppelinContext()Lorg/apache/zeppelin/interpreter/BaseZeppelinContext;
at org.apache.zeppelin.interpreter.AbstractInterpreter.interpret(AbstractInterpreter.java:32)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:103)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:676)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:569)
at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:121)
at org.apache.zeppelin.scheduler.ParallelScheduler.lambda$runJobInScheduler$0(ParallelScheduler.java:39)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
但是,相同的设置在 0.8.0 版中运行良好
JDBC 解释器依赖项:
/usr/lib/zeppelin/interpreter/jdbc
rw-rr- 1 root root 8866 Apr 7 21:24 slf4j-log4j12-1.7.10.jar
rw-rr- 1 root root 32119 Apr 7 21:24 slf4j-api-1.7.10.jar
rw-rr- 1 root root 648487 Apr 7 21:24 postgresql-9.4-1201-jdbc41.jar
rw-rr- 1 root root 489884 Apr 7 21:24 log4j-1.2.17.jar
rw-rr- 1 root root 108036 Apr 7 21:24 commons-pool2-2.2.jar
rw-rr- 1 root root 167962 Apr 7 21:24 commons-dbcp2-2.0.1.jar
rw-rr- 1 root root 46513 Apr 7 21:28 zeppelin-jdbc-0.9.0-preview1.jar
rw-rr- 1 root root 60686 Apr 7 21:28 commons-logging-1.1.1.jar
rw-rr- 1 root root 499634 Apr 7 21:28 commons-lang3-3.7.jar
rw-rr- 1 root root 54423 Apr 7 21:28 commons-exec-1.3.jar
我使用的是 Amazon EMR 版本 6.0.0。 Zeppelin 在集群创建期间安装。集群启动后,我更新了 conf/zeppelin-env.sh 中的变量以访问工件以获取依赖项。修改解释器列表文件以下载 zeppelin-jdbc-0.9.0-preview1.jar。
进行上述更改后,我使用以下命令安装了 jdbc 解释器。
sudo /usr/lib/zeppelin/bin/install-interpreter.sh -n jdbc
然后我使用 zeppelin GUI 创建 postgress 解释器并运行命令。
谁能告诉我如何解决这个问题。
【问题讨论】:
标签: java postgresql jdbc amazon-emr apache-zeppelin