无法使用 apache Drill 1.2 配置 postgreSQL JDBC 驱动程序

Posted

技术标签:

【中文标题】无法使用 apache Drill 1.2 配置 postgreSQL JDBC 驱动程序【英文标题】:unable to configure postgreSQL JDBC driver using apache drill 1.2 【发布时间】:2015-10-23 21:18:30 【问题描述】:

使用apache Drill 1.2,我们可以查询RDBMS数据https://drill.apache.org/blog/2015/10/16/drill-1.2-released/

我在这里下载了 JDBC PostgreSQL 驱动程序: https://jdbc.postgresql.org/download.html 我拿了 JDBC4 我不知道该拿哪个。

我把jar文件放在这个文件夹'apache-drill-1.2.0\jars\3rdparty'

现在,我正在尝试为 postgres 添加一个插件。我正在使用 Web 控制台 (http://127.0.0.1:8047) 进行操作。我创建了一个名为 pgplugin 的插件并添加了以下配置:

"type": "jdbc", "driver": "org.postgresql.Driver", "url": "jdbc:postgresql://IP:port/myschema", "username": "root", "password": "root", "enabled": true

显示错误: 错误(无法创建/更新存储)

即使只有以下内容也无法正常工作(同样的错误):

"type": "jdbc"

我知道我应该将 jar(jdbc postgres 驱动程序)添加到配置文件中某处的 apache Drill 类路径中,但我无法弄清楚...

我尝试添加这个:drill.exec.sys.store.provider.local.path = "/mypath"

drill-override.conf -> 结果是:

drill.exec: cluster-id: "drillbits1", zk.connect: "localhost:2181", drill.exec.sys.store.provider.local.path = "/mypath"

但它不起作用......有什么想法吗? 非常感谢!

【问题讨论】:

这个 jar,不知道到底是哪一个,属于 /jars/3rdparty(参见文档:drill.apache.org/docs/jdbc-storage-plugin),我看到一个用户报告了使用新驱动程序的问题后记。我还没有看到关于它的公开 JIRA,但 Drill 开发人员知道可能存在的错误。 Re: 你的 postgres 驱动选择,JDBC4 不可能是正确的。您引用的下载页面显示 java 1.7 与 JDBC41 匹配。如果一切都在同一个节点上并且您使用的是 1.7,那么使用 JDBC41 版本保持一致可能是一个好主意(如果不需要)。 Drill 需要 JDK 1.7。由于我提到的报告的问题,我不确定使用正确的驱动程序是否能确保成功。 感谢 cmets。我会尝试其他 JDBC 驱动程序。同时,我尝试使用 mysql 驱动程序,但我遇到了同样的问题。我下载了 jar,把它放在 3rdparty 文件夹中。但是后来我不知道该怎么做才能让 apache Drill 使用它。在文档中,它被写入在conf文件中添加drill.exec.sys.store.provider.local.path =“mysql-connector-java-5.1.37-bin.jar”,但是我仍然有一个错误当我尝试创建我的配置文件(我使用与 Drill.apache.org/docs/jdbc-storage-plugin 相同的示例)谢谢 drill.exec.sys.store.provider.local.path = "/mypath" 用于存储插件持久性(请参阅drill.apache.org/docs/storage-plugin-registration/…)。 “/mypath”应该是文件系统上的一个目录,例如 /tmp。设置 MySQL 密码,在启动 Drill shell 之前确保 MySQL 正在运行。 “mypassword”不是默认的 MySQL 密码——默认是无密码。那是行不通的。更改密码的正确 MySQL 命令取决于您的操作系统和 MySQL 版本。尝试登录 MySQL 命令行以测试您的密码。 @user2594988 我可以通过 mysql 进行查询。检查:***.com/questions/33232644/… 【参考方案1】:

我遇到了同样的问题。我的问题的原因是使用“JDBC42 Postgresql 驱动程序,版本 9.4-1205”JDBC 驱动程序。我通过使用“JDBC4 Postgresql 驱动程序,版本 9.4-1205”驱动程序解决了这个问题。

Postgres JDBC 下载页面供参考:https://jdbc.postgresql.org/download.html

【讨论】:

以上是关于无法使用 apache Drill 1.2 配置 postgreSQL JDBC 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

存储插件配置持久性不适用于 Apache Drill

Apache Drill 无法从 HDFS 读取文件(资源错误:无法创建模式树)

Apache Drill 查询 HBase 表

Apache Drill 0.9 和 SQuirreL SQL 客户端 - 无法列出 JDBC 驱动程序

使用 Apache Drill

Apache Drill - 以嵌入式模式连接到 Drill [java]