是新朋友吗?记得点击下面名片,关注我哦

错误日志信息如下:
2023-02-20 16:41:44,927 WARN C3P0PooledConnectionPoolManager[identityToken->1hge2xxauuilxwtwas5ok|62e7dffa]-HelperThread-#1:com.mchange.v2.resourcepool.BasicResourcePool: Having failed to acquire a resource, com.mchange.v2.resourcepool.BasicResourcePool@5fad41be is interrupting all Threads waiting on a resource to check out. Will try again in response to new client requests.2023-02-20 16:41:44,938 WARN main:org.springframework.context.support.GenericApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cloudera.server.cmf.TrialState': Cannot resolve reference to bean 'entityManagerFactoryBean' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactoryBean': FactoryBean threw exception on object creation; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection2023-02-20 16:41:44,938 ERROR main:com.cloudera.server.cmf.Main: Server failed.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cloudera.server.cmf.TrialState': Cannot resolve reference to bean 'entityManagerFactoryBean' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactoryBean': FactoryBean threw exception on object creation; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connectionat org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:634)at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1198)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1100)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)at com.cloudera.server.cmf.Main.bootstrapSpringContext(Main.java:421)at com.cloudera.server.cmf.Main.<init>(Main.java:263)at com.cloudera.server.cmf.Main.main(Main.java:236)Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactoryBean': FactoryBean threw exception on object creation; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connectionat org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185)at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)... 17 moreCaused by: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connectionat org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:102)at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:129)at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getConnectionForTransactionManagement(LogicalConnectionManagedImpl.java:247)at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:254)at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)at com.cloudera.enterprise.AbstractWrappedEntityManager.beginForRollbackAndReadonly(AbstractWrappedEntityManager.java:89)at com.cloudera.enterprise.dbutil.DbUtil.isInnoDbEnabled(DbUtil.java:558)at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.checkMysqlTableEngineType(EntityManagerFactoryBean.java:187)at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.getObject(EntityManagerFactoryBean.java:166)at com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean.getObject(EntityManagerFactoryBean.java:75)at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)... 22 moreCaused by: java.sql.SQLException: Connections could not be acquired from the underlying database!at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:689)at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)at org.hibernate.c3p0.internal.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:73)at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:99)... 33 moreCaused 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:1418)at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:606)at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:526)at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:755)at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPool
初步判断和cdh源数据库mysql有关系

初步判断mysql登陆有问题
找到 cloudera-manager-server节点,
scm配置文件 /etc/cloudera-scm-server/db.properties
查看配置mysql信息 :
cat etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql com.cloudera.cmf.db.host=192.168.10.103:3306 com.cloudera.cmf.db.name=scm com.cloudera.cmf.db.user=scm com.cloudera.cmf.db.password=Example@2022 com.cloudera.cmf.db.setupType=EXTERNAL
到192.168.10.103 服务器上面分别执行下面命令
mysql---------------直接使用“mysql”命令,不带主机名参数;mysql -h localhost--使用带了主机名“localhost”参数的命令mysql -h 127.0.0.1--使用带了主机名“127.0.0.1”参数的命令
均报错 :ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
【错误解析】:
这是由于我们连接数据库使用的主机名参数为“localhost”,或者未使用主机名参数、服务器默认使用“localhost”做为主机名。使用主机名参数为“localhost”连接mysql服务端时,mysql客户端会认为是连接本机, 所以会尝试以socket文件方式进行连接(socket文件连接方式,比“ip:端口”方式效率更高),这时根据配置文件“/etc/mysql.cnf”的路径,未找到相应的socket文件,就会引发此错误。
【解决思路】:
1、看mysql服务是否在运行 由于“socket”文件是由mysql服务运行时创建的,如果提示
“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(111),
找不到“/var/lib/mysql/mysql.sockt”文件,
我们首先要确认的是mysql服务是否正在运行。
1.1、端口是否打开
lsof -i:3306
1.2、mysqld服务是否正在运行
service mysqld status
【备注】:若mysql未运行,重启mysql服务,一般可以解决。
2、确定“socket”文件正确位置:确定mysql服务正常运行后,产生此错误的原因只剩下“socket”文件路径不正确了, 我们可以使用“find”命令或者“lsof”命令来确定socket文件的正确路径:
lsof -c mysqld|grep sock
find / -name '*.sock'/storage/db/mysql/mysql.sock
【备注】:若mysql运行,而且mysql.sock也存在,那么就是“路径指向”问题

service mysqld restartservice mysql restart
--使用service启动service mysqld startservice mysql start--使用service停止service mysqld stop
[mysqld]datadir=/storage/db/mysqlsocket=/storage/db/mysql/mysql.sock…省略n行[client]default-character-set=utf8socket=/storage/db/mysql/mysql.sock[mysql]default-character-set=utf8socket=/storage/db/mysql/mysql.sock
# ls var/lib/mysql/mysql.sockls: 无法访问/var/lib/mysql/mysql.sock: 没有那个文件或目录# ln -s storage/db/mysql/mysql.sock/var/lib/mysql/mysql.sock# ls /var/lib/mysql/mysql.sock/var/lib/mysql/mysql.sock
少侠,请留步,欢迎点赞关注转发






