cloudera-scm-server启动时出现Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection问题解决

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

 问题现象

 

    查看

[root@cmbigdata1 cloudera-scm-server]# pwd
/var/log/cloudera-scm-server
[root@cmbigdata1 cloudera-scm-server]# cat cloudera-scm-server.log 

 

     是如下的问题:

复制代码
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
    at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1397)
    at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:62)
    at com.cloudera.enterprise.AbstractWrappedEntityManager.beginForRollbackAndReadonly(AbstractWrappedEntityManager.java:89)
    at com.cloudera.enterprise.dbutil.DbUtil.isInnoDbEnabled(DbUtil.java:549)
    at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.checkMysqlTableEngineType(EntityManagerFactoryBean.java:139)
    at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.getObject(EntityManagerFactoryBean.java:122)
    at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.getObject(EntityManagerFactoryBean.java:65)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
    ... 22 more
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:221)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)
    at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
    at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
    at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1426)
    at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:59)
    ... 28 more
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
    at org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:84)
    at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292)
    at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)
    ... 33 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
    at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
    at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
    at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
    ... 37 more
2017-12-02 19:59:55,633 INFO main:com.cloudera.server.cmf.Main: Starting SCM Server. JVM Args: [-Dlog4j.configuration=file:/etc/cloudera-scm-server/log4j.properties, -Dfile.encoding=UTF-8, -Dcmf.root.logger=INFO,LOGFILE, -Dcmf.log.dir=/var/log/cloudera-scm-server, -Dcmf.log.file=cloudera-scm-server.log, -Dcmf.jetty.threshhold=WARN, -Dcmf.schema.dir=/usr/share/cmf/schema, -Djava.awt.headless=true, -Djava.net.preferI
复制代码

 

 

 

复制代码
[root@cmbigdata1 lib]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1262/rpcbind        
tcp        0      0 0.0.0.0:4433                0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 0.0.0.0:52338               0.0.0.0:*                   LISTEN      1390/rpc.statd      
tcp        0      0 127.0.0.1:7190              0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1579/sshd           
tcp        0      0 0.0.0.0:7191                0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1417/cupsd          
tcp        0      0 127.0.0.1:19001             0.0.0.0:*                   LISTEN      1894/python         
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1683/master         
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      2263/sshd           
tcp        0      0 127.0.0.1:6011              0.0.0.0:*                   LISTEN      2689/sshd           
tcp        0      0 192.168.80.31:9000          0.0.0.0:*                   LISTEN      1739/python2.6      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3183/mysqld         
tcp        0      0 :::111                      :::*                        LISTEN      1262/rpcbind        
tcp        0      0 :::4434                     :::*                        LISTEN      1976/python2.6      
tcp        0      0 :::22                       :::*                        LISTEN      1579/sshd           
tcp        0      0 :::7191                     :::*                        LISTEN      1976/python2.6      
tcp        0      0 ::1:631                     :::*                        LISTEN      1417/cupsd          
tcp        0      0 ::1:25                      :::*                        LISTEN      1683/master         
tcp        0      0 :::59833                    :::*                        LISTEN      1390/rpc.statd      
tcp        0      0 ::1:6010                    :::*                        LISTEN      2263/sshd           
tcp        0      0 ::1:6011                    :::*                        LISTEN      2689/sshd       
复制代码

 

 

 

 

 

 

 

 

 

 

解决办法

 

[root@cmbigdata1 lib]# service mysqld start
Starting mysqld:                                           [  OK  ]
[root@cmbigdata1 lib]# 

 

 

 

复制代码
[root@cmbigdata1 lib]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:7180                0.0.0.0:*                   LISTEN      3309/java           
tcp        0      0 0.0.0.0:7182                0.0.0.0:*                   LISTEN      3309/java           
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1262/rpcbind        
tcp        0      0 0.0.0.0:4433                0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 0.0.0.0:52338               0.0.0.0:*                   LISTEN      1390/rpc.statd      
tcp        0      0 127.0.0.1:7190              0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1579/sshd           
tcp        0      0 0.0.0.0:7191                0.0.0.0:*                   LISTEN      1976/python2.6      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1417/cupsd          
tcp        0      0 127.0.0.1:19001             0.0.0.0:*                   LISTEN      1894/python         
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1683/master         
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      2263/sshd           
tcp        0      0 127.0.0.1:6011              0.0.0.0:*                   LISTEN      2689/sshd           
tcp        0      0 192.168.80.31:9000          0.0.0.0:*                   LISTEN      1739/python2.6      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3183/mysqld         
tcp        0      0 :::111                      :::*                        LISTEN      1262/rpcbind        
tcp        0      0 :::4434                     :::*                        LISTEN      1976/python2.6      
tcp        0      0 :::22                       :::*                        LISTEN      1579/sshd           
tcp        0      0 :::7191                     :::*                        LISTEN      1976/python2.6      
tcp        0      0 ::1:631                     :::*                        LISTEN      1417/cupsd          
tcp        0      0 ::1:25                      :::*                        LISTEN      1683/master         
tcp        0      0 :::59833                    :::*                        LISTEN      1390/rpc.statd      
tcp        0      0 ::1:6010                    :::*                        LISTEN      2263/sshd           
tcp        0      0 ::1:6011                    :::*                        LISTEN      2689/sshd           
[root@cmbigdata1 lib]# 
复制代码

     其实,这个问题很简单,是mysql方面的问题,要么是mysql服务没启动,要么就是你的驱动jar包没安装好。

 

 

 

[root@cmbigdata1 lib]# pwd
/usr/share/cmf/lib
[root@cmbigdata1 lib]# 

 

 

 

 

 

 

 

 建议

    要将mysqld设置为开机自动启动:

  chkconfig mysqld on

  可能还会出现情况,就是JDBC driver cannot be found,这时把jar包复现到 /usr/share/cmf/lib 下就行了。 
重启cloudera-scm-server服务。 
等待1分钟,访问7180端口,应该就不会出问题了。


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7944257.html,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL Java 数据库连接
|
6月前
|
SQL 缓存 Java
框架分析(9)-Hibernate
框架分析(9)-Hibernate
|
24天前
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
13 1
|
3月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
47 1
|
3月前
|
数据库 Java 数据库连接
Struts 2 与 Hibernate 的完美邂逅:如何无缝集成两大框架,轻松玩转高效 CRUD 操作?
【8月更文挑战第31天】本文通过具体示例介绍了如何在 Struts 2 中整合 Hibernate,实现基本的 CRUD 操作。首先创建 Maven 项目并添加相关依赖,接着配置 Hibernate 并定义实体类及其映射文件。然后创建 DAO 接口及实现类处理数据库操作,再通过 Struts 2 的 Action 类处理用户请求。最后配置 `struts.xml` 文件并创建 JSP 页面展示用户列表及编辑表单。此示例展示了如何配置和使用这两个框架,使代码更加模块化和可维护。
98 0
|
4月前
|
SQL Java 数据库连接
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
78 0
|
5月前
|
Java 数据库连接 数据库
探索JPA生态:Hibernate与其他ORM框架的对比分析
【6月更文挑战第25天】**JPA标准下的Hibernate是流行的ORM实现,提供丰富功能如二级缓存和延迟加载,但其学习曲线较陡,性能优化复杂。相比如MyBatis,Hibernate的JPQL更面向对象,MyBatis则接近SQL。选择ORM需考虑项目需求和个人偏好。**
86 0
|
5月前
|
Java 数据库连接
杨老师课堂之JavaEE三大框架Hibernate入门第一课
杨老师课堂之JavaEE三大框架Hibernate入门第一课
30 0