Я работаю над обновлением zeppelin с 0.8.0 до 0.9.0. При настройке интерпретатора JDB C для доступа к базам данных Postgres я получаю сообщение об ошибке.
Я создал интерпретатор "JDB C. postgres" в zeppelin GUI и выполнил запрос. Это приводит к следующей ошибке.
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
JDB C Зависимости интерпретатора:
/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-jdb c -0.9.0-preview1.jar.
После внесения вышеуказанных изменений я установил интерпретатор jdb c с помощью следующей команды.
sudo /usr/lib/zeppelin/bin/install-interpreter.sh -n jdbc
Затем я использовал zeppelin GUI для создания интерпретатора postgress и запуска команд.
Может кто-нибудь сообщить мне, как это исправить.