开发者社区> 问答> 正文

Hive 配置连接池报错

java.sql.SQLException: Method not supported at org.apache.hadoop.hive.jdbc.HiveConnection.getHoldability(HiveConnection.java:354) at com.alibaba.druid.filter.FilterChainImpl.connection_getHoldability(FilterChainImpl.java:325) at com.alibaba.druid.filter.FilterAdapter.connection_getHoldability(FilterAdapter.java:861) at com.alibaba.druid.filter.FilterChainImpl.connection_getHoldability(FilterChainImpl.java:322) at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.getHoldability(ConnectionProxyImpl.java:244) at com.alibaba.druid.pool.DruidConnectionHolder.(DruidConnectionHolder.java:86) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:631) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606)

原提问者GitHub用户xiaohui886688

展开
收起
山海行 2023-07-05 22:08:25 337 0
5 条回答
写回答
取消 提交回答
  • 这个错误表明在使用 Hive 连接池时,使用的 JDBC 驱动无法支持 getHoldability 方法,导致抛出了 java.sql.SQLException: Method not supported 异常。

    为了解决这个问题,您可以尝试以下方法:

    1. 检查 JDBC 驱动版本:确保使用的 JDBC 驱动版本与 Hive 版本兼容。不同版本的 Hive 可能需要不同的 JDBC 驱动版本。请检查官方文档或相关资源以确定所使用版本的 Hive 所需的 JDBC 驱动版本。

    2. 升级 JDBC 驱动:如果您正在使用较旧版本的 JDBC 驱动,请尝试升级到更高版本的驱动程序。新版本的驱动程序可能已经修复了此问题。您可以从官方网站或 Maven 仓库下载最新版本的 JDBC 驱动。

    3. 检查连接池配置:查看连接池的配置选项,确保没有设置与 getHoldability 相关的参数。某些连接池可能会提供特定的配置选项来控制连接的属性,包括 getHoldability

    4. 尝试其他连接池:如果您仍然遇到问题,可以尝试使用其他连接池实现,如 HikariCP、C3P0 或 Apache Commons Pool 等。这些连接池实现通常是可互换的,并且可能对不同的 JDBC 驱动提供更好的兼容性。

    如果您尝试了上述方法后仍然无法解决问题,建议查看更详细的日志信息以获取更多线索。您还可以咨询 Hive 社区或相关技术支持团队,以获得针对具体情况的更准确和个性化的帮助。

    2023-07-30 23:24:32
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    以下是一些常见的Hive连接池配置错误及其解决方法:

    ClassNotFoundException错误:这种错误通常表示缺少JDBC驱动程序。解决方法是将Hive JDBC驱动程序添加到应用程序的类路径中,或者使用Maven等依赖管理工具自动下载依赖项。

    Connection refused错误:这种错误通常表示无法连接到Hive服务器。解决方法是检查Hive服务器的地址和端口是否正确,并确保服务器正在运行。

    Authentication failed错误:这种错误通常表示连接Hive服务器时身份验证失败。解决方法是检查Hive连接池配置中的用户名和密码是否正确,并确保用户具有连接Hive服务器的权限。

    Configuring non-default properties错误:这种错误通常表示配置文件中包含非默认属性。解决方法是检查配置文件中的属性是否正确,并确保它们是Hive连接池支持的属性。

    Unable to create connection pool错误:这种错误通常表示无法创建连接池。解决方法是检查连接池配置是否正确,并确保连接池的大小和最大连接数等参数设置正确。

    2023-07-29 22:59:45
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据您提供的错误信息,看起来是在使用 Hive 连接池时出现了问题。错误信息指出了在 HiveConnection.java 文件的 getHoldability 方法上不支持某个操作。

    这个问题可能是由于使用的连接池库(如 Alibaba Druid)与 Hive JDBC 驱动之间的兼容性问题引起的。您可以尝试以下解决方法:

    1. 确认您使用的 Alibaba Druid 版本是否与 Hive JDBC 驱动版本兼容。您可以查阅 Alibaba Druid 的官方文档或与其相关文档一起使用的 Hive JDBC 驱动的文档来了解兼容性要求。

    2. 尝试更新 Alibaba Druid 或 Hive JDBC 驱动的版本,以确保它们之间的兼容性。

    3. 如果更新版本后仍然存在问题,您可以尝试使用其他的连接池库,如 Apache Commons DBCP、HikariCP 等,并确保选择与 Hive JDBC 驱动兼容的版本。

    如果以上解决方法无法解决问题,建议您查阅 Alibaba Druid 或 Hive JDBC 驱动的官方文档,或者向相关社区或论坛寻求帮助,以获取更专业的支持和指导。

    2023-07-07 12:33:04
    赞同 展开评论 打赏
  • 问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14

    原回答者GitHub用户wenshao

    2023-07-06 12:44:25
    赞同 展开评论 打赏
  • 具体的错误信息是"java.sql.SQLException: Method not supported",该错误提示了一个方法不支持的异常。

    根据错误堆栈信息,异常发生在HiveConnection类的getHoldability方法上,这个方法可能在你的环境中不被支持。同时,Druid连接池也在调用该方法时出现了异常。

    可能的原因是,你使用的Hive版本与连接池不兼容,或者连接池的配置不正确。建议你检查以下几点:

    1、确认你使用的Hive版本是否与连接池兼容。不同版本的Hive可能会有不同的方法支持情况。

    2、检查连接池的配置是否正确,特别是与Hive相关的配置项。你可以参考连接池的官方文档或者示例代码来确认配置是否正确。

    2023-07-06 08:25:21
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Hive Bucketing in Apache Spark 立即下载
spark替代HIVE实现ETL作业 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载