HUE和JDBC驱动程序

时间:2016-11-21 09:56:17

标签: jdbc hue apache-drill

我对JAR文件和HUE的一些问题感到困惑。 最大的目标是通过HUE使用DRILL。

如此处所述,可以在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"}'

我在“notebook”

下的HUE界面中看到我的笔记本名为JDBC
select * from pacs2.pacs2.campaign limit 10

如果我想执行以下代码,我会收到以下错误:

  

调用z:java.sql.DriverManager.getConnection时发生错误。 :java.sql.SQLException:没有为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 the sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)py4j.reflection.MethodInvoker.invoke(MethodInvoker.java) :231)py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:379)at py4j.Gateway.invoke(Gateway.java:259)py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)py4j.commands .CallCommand.execute(CallCommand.java:79)位于py4j.GatewayConnection.run(GatewayConnection.java:207)的java.lang.Thread.run(Thread.java:745)

显然HUE无法找到驱动程序。令人惊讶的是,如果我尝试通过SQuirrel SQL连接到数据库,那就没问题了。

所以我的关键问题是我必须找到JDBC jar文件?该文件是否有特定位置?

我正在使用HUE 3.11Cloudera CDH 5.9.0

感谢您的帮助!

彼得

1 个答案:

答案 0 :(得分:0)

Hue使用DBProxy服务连接到Drill(以及所有JDBC连接)。 有时,此服务可以多次启动,您需要手动停止它们。

  1. 检查当前正在运行的DBProxy服务的数量:

    $ ps -e -o pid,command | 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

  2. 如你所见,我有两个,其中一个被打破(1503)。

    1. 终止所有DBProxy服务。

      杀死1503

      杀1202

    2. 重启Hue。

    3. 一切正常。
    4. 此示例中的我的CLASSPATH: /opt/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9.0.jar