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
根据您提供的信息,可能是因为Hive使用的数据源连接池Druid连接池出现了异常。这种情况通常是由于Druid连接池配置不正确或者连接池中的连接被过早关闭所导致的。以下是一些可能的解决方法:
检查Druid连接池配置
请检查Druid连接池的相关配置,确保配置正确。包括连接池大小、连接超时时间、最小空闲连接等配置。您可以参考Druid连接池的官方文档,检查您的配置是否符合要求。
增加连接池大小
如果您的Druid连接池配置正确,但仍然遇到连接池异常,可能是因为连接池中的连接数不足。您可以尝试增加连接池大小,以提高连接池的并发能力
根据您提供的信息,可能是因为Hive使用的数据源连接池Druid连接池出现了异常。这种情况通常是由于Druid连接池配置不正确或者连接池中的连接被过早关闭所导致的。以下是一些可能的解决方法:
检查Druid连接池配置
请检查Druid连接池的相关配置,确保配置正确。包括连接池大小、连接超时时间、最小空闲连接等配置。您可以参考Druid连接池的官方文档,检查您的配置是否符合要求。
增加连接池大小
如果您的Druid连接池配置正确,但仍然遇到连接池异常,可能是因为连接池中的连接数不足。您可以尝试增加连接池大小,以提高连接池的并发能力
检查Hive配置
如果以上方法都无法解决问题,您还可以检查Hive的相关配置。例如,您可以检查Hive的JDBC连接字符串是否正确,用户名和密码是否正确等。
调整JVM参数
如果您的代码中使用了大量的内存或者有一些性能问题,可能需要调整JVM参数。您可以尝试增加JVM堆内存大小、设置GC策略等来优化应用程序的性能。
根据你提供的异常信息,看起来是使用了Druid连接池的时候出现了异常。异常信息提示说一个连接被丢弃了,引用了这个连接的线程为pool-1-thread-1。但是,由于你没有提供完整的异常信息,我无法详细分析问题。请提供完整的异常信息,包括异常的堆栈跟踪信息,以及相应的Hive SQL代码,这样我才能更好地帮助你解决问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。