无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala
Posted
技术标签:
【中文标题】无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala【英文标题】:Unable to connect to Impala through Java app using Impala JDBC Driver 【发布时间】:2017-01-09 16:38:50 【问题描述】:我正在尝试连接到 impala 并使用 JdbcTemplate()
进行简单的选择查询。我不断收到以下错误:
java.sql.SQLException: [Simba][ImpalaJDBCDriver](500164) Error initialized or created transport for authentication: null.
at com.cloudera.impala.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.cloudera.impala.hivecommon.api.HiveServer2ClientFactory.createClient(Unknown Source)
at com.cloudera.impala.hivecommon.core.HiveJDBCConnection.connect(Unknown Source)
at com.cloudera.impala.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.cloudera.impala.jdbc.common.AbstractDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ProcedureDAOImpl.updateProcedure(ProcedureDAOImpl.java:55)
at MainRunner.procedure1(MainRunner.java:61)
at MainRunner.run(MainRunner.java:33)
at java.util.TimerThread.mainLoop(Unknown Source)
Caused by: com.cloudera.impala.support.exceptions.GeneralException: [Simba][ImpalaJDBCDriver](500164) Error initialized or created transport for authentication: null.
... 11 more
ApplicationContext
此连接的 bean 定义如下:
<bean id="impalaDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.cloudera.impala.jdbc4.Driver"></property>
<property name="url" value="$jdbc.impala.url"/>
<property name="username" value="$jdbc.impala.username"/>
<property name="password" value="$jdbc.impala.password"/>
</bean>
我尝试连接DriverManager
类,它成功了。但是当我尝试使用 dbcp 类时,它失败了。有人对此有什么建议吗?
【问题讨论】:
更新:我将 ImpalaJDBC4 驱动程序版本 2.5.16 替换为 2.5.30 版本并且它工作正常。 我在使用 Simba 驱动程序时也遇到了同样的问题。我可以知道您使用的是哪个驱动程序吗?你的 JDK 和操作系统是什么 [in client] @3Libras - 在使用 JDK1.8 和 ImpalaJDBC41 驱动程序的 Linux 环境中,我也遇到了同样的错误。你能告诉你对环境细节做了什么吗? 【参考方案1】:当我在 DBeaver 上连接到 Impala 时遇到同样的错误。
我发现的可能解决方法是不断更新到可用的最新 Impala JDBC 驱动程序。
注意:它工作了一段时间,然后我又得到了同样的错误。再次更新即可解决问题。
【讨论】:
以上是关于无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala的主要内容,如果未能解决你的问题,请参考以下文章
在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala