我对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界面中看到我的笔记本名为JDBCselect * 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.11
和Cloudera CDH 5.9.0
。
感谢您的帮助!
彼得
答案 0 :(得分:0)
Hue使用DBProxy服务连接到Drill(以及所有JDBC连接)。 有时,此服务可以多次启动,您需要手动停止它们。
检查当前正在运行的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
如你所见,我有两个,其中一个被打破(1503)。
终止所有DBProxy服务。
杀死1503
杀1202
重启Hue。
此示例中的我的CLASSPATH: /opt/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9.0.jar