开发者社区> 问答> 正文

操作hive sql时出现异常,com.alibaba.druid.pool.DruidDataSo

2016-10-21 02:01:41.595 [Druid-ConnectionPool-Destroy-1161261634] ERROR com.alibaba.druid.pool.DruidDataSource - abandon connection, owner thread: pool-1-thread-1, connected at : 1 476986401506, open stackTrace at java.lang.Thread.getStackTrace(Thread.java:1552) at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1068) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:994) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:984) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:103) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:391) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440) at com.souche.datacenter.biz.common.dao.HiveOrSparkDao.executeInSpark(HiveOrSparkDao.java:33) at com.souche.datacenter.biz.metadata.job.ExtractHiveCronService.createTableJob(ExtractHiveCronService.java:266) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) ownerThread current state is WAITING, current stackTrace at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:280) at com.alibaba.druid.pool.DruidPooledStatement.execute(DruidPooledStatement.java:416) at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440) at com.souche.datacenter.biz.common.dao.HiveOrSparkDao.executeInSpark(HiveOrSparkDao.java:33) at com.souche.datacenter.biz.metadata.job.ExtractHiveCronService.createTableJob(ExtractHiveCronService.java:266) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

麻烦能帮我看下麽。谢谢。。

原提问者GitHub用户Danier-Evens

展开
收起
山海行 2023-07-05 21:29:59 251 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    根据您提供的信息,可能是因为Hive使用的数据源连接池Druid连接池出现了异常。这种情况通常是由于Druid连接池配置不正确或者连接池中的连接被过早关闭所导致的。以下是一些可能的解决方法:

    检查Druid连接池配置
    请检查Druid连接池的相关配置,确保配置正确。包括连接池大小、连接超时时间、最小空闲连接等配置。您可以参考Druid连接池的官方文档,检查您的配置是否符合要求。

    增加连接池大小
    如果您的Druid连接池配置正确,但仍然遇到连接池异常,可能是因为连接池中的连接数不足。您可以尝试增加连接池大小,以提高连接池的并发能力

    根据您提供的信息,可能是因为Hive使用的数据源连接池Druid连接池出现了异常。这种情况通常是由于Druid连接池配置不正确或者连接池中的连接被过早关闭所导致的。以下是一些可能的解决方法:

    检查Druid连接池配置
    请检查Druid连接池的相关配置,确保配置正确。包括连接池大小、连接超时时间、最小空闲连接等配置。您可以参考Druid连接池的官方文档,检查您的配置是否符合要求。

    增加连接池大小
    如果您的Druid连接池配置正确,但仍然遇到连接池异常,可能是因为连接池中的连接数不足。您可以尝试增加连接池大小,以提高连接池的并发能力

    检查Hive配置
    如果以上方法都无法解决问题,您还可以检查Hive的相关配置。例如,您可以检查Hive的JDBC连接字符串是否正确,用户名和密码是否正确等。

    调整JVM参数
    如果您的代码中使用了大量的内存或者有一些性能问题,可能需要调整JVM参数。您可以尝试增加JVM堆内存大小、设置GC策略等来优化应用程序的性能。

    2023-07-30 09:58:46
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据你提供的异常信息,看起来是使用了Druid连接池的时候出现了异常。异常信息提示说一个连接被丢弃了,引用了这个连接的线程为pool-1-thread-1。但是,由于你没有提供完整的异常信息,我无法详细分析问题。请提供完整的异常信息,包括异常的堆栈跟踪信息,以及相应的Hive SQL代码,这样我才能更好地帮助你解决问题。

    2023-07-11 19:38:27
    赞同 展开评论 打赏
  • 把removedAbandoned去掉吧

    原回答者GitHub用户wenshao

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

相关电子书

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