2016-11-21 5 views
0

Я борюсь с некоторыми проблемами относительно файла JAR и HUE. Большая цель - использовать DRILL через HUE.HUE и драйвер JDBC

Как указано здесь, можно интегрировать базу данных в HUE. Так что я тоже пытаюсь это сделать. Поэтому я загрузил JAR-файл и попытался интегрировать его в HUE.

Так я добавил ноутбук и мой код выглядит следующим образом линий

[notebook] 
show_notebooks=true 
[[interpreters]] 
[[[hive]]] name = Hive interface = hiveserver2 
[[[jdbc]]] name=JDBC interface=jdbc options='{"url": "jdbc:drill:zk=r2c00.pmd.local:2181,r2c01.pmd.local:2181,r2c02.pmd.local:2181/drill/pacluster;schema=pacs2","driver": "org.apache.drill.jdbc.Driver","user": "admin","password": "admin"}' 

Я вижу свой ноутбук под названием JDBC в интерфейсе HUE под «ноутбук»

select * from pacs2.pacs2.campaign limit 10 

Если я хочу, чтобы выполнить в следующем коде появляется следующая ошибка:

An error occurred while calling z:java.sql.DriverManager.getConnection. : java.sql.SQLException: No suitable driver found for jdbc:drill:zk=r2c00.pmd.local:2181,r2c01.pmd.local:2181,r2c02.pmd.local:2181/drill/pacluster;schema=pacs2 at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:379) at py4j.Gateway.invoke(Gateway.java:259) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:207) at java.lang.Thread.run(Thread.java:745)

Очевидно, HUE невозможно найти водителя. Удивительно, если я попытаюсь подключиться к базе данных через SQuirrel SQL, это не проблема.

Итак, мой ключевой вопрос: где я должен найти файл JDBC jar? Есть ли определенное место для этого файла?

Я использую HUE 3.11 и Cloudera CDH 5.9.0.

Спасибо за вашу помощь!

Питер

+0

Вам нужно добавить правильный JDBC драйвер для пути к классу вашего приложения. –

+0

Да, я знаю ... Я думаю, что у меня есть правильный драйвер, так как возможно соединение с Squirrel SQL. Ключевой вопрос заключается в том, как добавить этот драйвер в мое приложение - в этом случае HUE? Я ничего не нашел! – Peter

+0

Эта белка имеет драйвер на пути к своему классу, не означает, что она находится на пути к классу других приложений Java. –

ответ

0

Hue использует сервис DBProxy для подключения к Дрель (и для всех соединений JDBC). Иногда эта услуга может запускаться многократно, и вам необходимо остановить их вручную.

  1. Проверьте, сколько DBProxy услуг в настоящее время работают:

    $ псов -e -o PID, команда | Grep DBProxy

    1503 Java -cp /opt/hue-3.11.0/desktop/libs/librdbms/java-lib/dbproxy-1.0.jar: com.cloudera.hue.dbproxy.DBProxy

    1202 Java -cp /opt/hue-3.11.0/desktop/libs/librdbms/java-lib/dbproxy-1.0.jar:/opt/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9. 0.jar: com.cloudera.hue.dbproxy.DBProxy

Как вы можете видеть, у меня есть два и один из них сломан (1503).

  1. Убить все службы DBProxy.

    убийство 1503

    убийство 1202

  2. Переначала оттенок.

  3. Все работает нормально.

Мой CLASSPATH в этом примере: /opt/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9.0.jar

Смежные вопросы