CloudStack 无法创建与数据库服务器的连接

问题描述

我正在按照 this 文章在多节点上配置 cloudstack,并且我正在不同的系统上运行 1 个 cloudstack 管理服务器、1 个数据库服务器和 1 个 nfs 服务器。 我已成功设置 cloudstack 管理服务器,但在访问 Web 仪表板时出现以下错误

HTTP ERROR 503 服务不可用

在验证管理服务器日志时,我收到异常消息 Could not create connection to database server

以下是我的管理服务器的完整日志。

2021-03-24 18:33:46,249 INFO  [c.c.u.d.T.Transaction] (main:null) (logid:) Is Data Base High Availiability enabled? Ans : false
2021-03-24 18:33:46,343 DEBUG [c.c.u.d.DriverLoader] (main:null) (logid:) Successfully loaded DB driver com.MysqL.cj.jdbc.Driver
2021-03-24 18:33:46,386 DEBUG [c.c.u.d.DriverLoader] (main:null) (logid:) DB driver com.MysqL.cj.jdbc.Driver was already loaded.
2021-03-24 18:33:46,399 DEBUG [c.c.u.d.DriverLoader] (main:null) (logid:) DB driver com.MysqL.cj.jdbc.Driver was already loaded.
2021-03-24 18:33:50,926 ERROR [c.c.u.d.Merovingian2] (main:null) (logid:) Unable to get a new db connection
java.sql.sqlNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    at com.MysqL.cj.jdbc.exceptions.sqlError.createsqlException(sqlError.java:110)
    at com.MysqL.cj.jdbc.exceptions.sqlError.createsqlException(sqlError.java:97)
    at com.MysqL.cj.jdbc.exceptions.sqlError.createsqlException(sqlError.java:89)
    at com.MysqL.cj.jdbc.exceptions.sqlError.createsqlException(sqlError.java:63)
    at com.MysqL.cj.jdbc.exceptions.sqlError.createsqlException(sqlError.java:73)
    at com.MysqL.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:906)
    at com.MysqL.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:831)
    at com.MysqL.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
    at com.MysqL.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
    at com.MysqL.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at org.apache.commons.dbcp2.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:121)
    at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:355)
    at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:889)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:424)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:349)
    at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)
    at com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:211)
    at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
    at com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:88)
    at com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:203)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:310)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:295)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.autowireConstructor(AbstractAutowireCapablebeanfactory.java:1358)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBeanInstance(AbstractAutowireCapablebeanfactory.java:1204)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:557)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:517)
    at org.springframework.beans.factory.support.Abstractbeanfactory.lambda$doGetBean$0(Abstractbeanfactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:321)
    at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:202)
    at org.springframework.beans.factory.support.DefaultListablebeanfactory.preInstantiateSingletons(DefaultListablebeanfactory.java:879)
    at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:878)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.loadContext(DefaultModuleDeFinitionSet.java:145)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet$2.with(DefaultModuleDeFinitionSet.java:122)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:245)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:250)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:233)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.loadContexts(DefaultModuleDeFinitionSet.java:117)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.load(DefaultModuleDeFinitionSet.java:79)
    at org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62)
    at org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextinitialized(CloudStackContextLoaderListener.java:52)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextinitialized(ContextHandler.java:933)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextinitialized(ServletContextHandler.java:553)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:892)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:825)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.server.Server.start(Server.java:407)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.Server.doStart(Server.java:371)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:189)
    at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:105)
Caused by: com.MysqL.cj.exceptions.CJException: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    ... 87 more
2021-03-24 18:33:50,948 WARN  [o.a.c.s.m.c.ResourceApplicationContext] (main:null) (logid:) Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lockMasterListener' defined in URL [jar:file:/usr/share/cloudstack-management/lib/cloudstack-4.14.1.0.jar!/meta-inf/cloudstack/system/spring-server-system-context.xml]: Bean instantiation via constructor Failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.cloud.server.LockMasterListener]: Constructor threw exception; nested exception is com.cloud.utils.exception.CloudRuntimeException: Unable to initialize a connection to the database for locking purposes
2021-03-24 18:33:50,959 WARN  [o.e.j.w.WebAppContext] (main:null) (logid:) Failed startup of context o.e.j.w.WebAppContext@22295ec4{/client,file:///usr/share/cloudstack-management/webapp/,UNAVAILABLE}{/usr/share/cloudstack-management/webapp}
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lockMasterListener' defined in URL [jar:file:/usr/share/cloudstack-management/lib/cloudstack-4.14.1.0.jar!/meta-inf/cloudstack/system/spring-server-system-context.xml]: Bean instantiation via constructor Failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.cloud.server.LockMasterListener]: Constructor threw exception; nested exception is com.cloud.utils.exception.CloudRuntimeException: Unable to initialize a connection to the database for locking purposes
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:314)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:295)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.autowireConstructor(AbstractAutowireCapablebeanfactory.java:1358)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBeanInstance(AbstractAutowireCapablebeanfactory.java:1204)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:557)
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:517)
    at org.springframework.beans.factory.support.Abstractbeanfactory.lambda$doGetBean$0(Abstractbeanfactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:321)
    at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:202)
    at org.springframework.beans.factory.support.DefaultListablebeanfactory.preInstantiateSingletons(DefaultListablebeanfactory.java:879)
    at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:878)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.loadContext(DefaultModuleDeFinitionSet.java:145)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet$2.with(DefaultModuleDeFinitionSet.java:122)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:245)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:250)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.withModule(DefaultModuleDeFinitionSet.java:233)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.loadContexts(DefaultModuleDeFinitionSet.java:117)
    at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDeFinitionSet.load(DefaultModuleDeFinitionSet.java:79)
    at org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58)
    at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62)
    at org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextinitialized(CloudStackContextLoaderListener.java:52)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextinitialized(ContextHandler.java:933)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextinitialized(ServletContextHandler.java:553)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:892)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:825)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.server.Server.start(Server.java:407)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.Server.doStart(Server.java:371)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:189)
    at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:105)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.cloud.server.LockMasterListener]: Constructor threw exception; nested exception is com.cloud.utils.exception.CloudRuntimeException: Unable to initialize a connection to the database for locking purposes
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:216)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:310)
    ... 51 more

手动我可以通过以下命令连接我的 sql 服务器

MysqL -u root -h databaseserver_address -p

我是否遗漏了任何与配置相关的数据库服务器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)