启动server的时候报错如下:
2017-02-07 23:41:46,502 INFO main:com.cloudera.enterPRise.dbutil.DbUtil: DB Schema version 5701.2017-02-07 23:41:46,502 INFO main:com.cloudera.enterprise.dbutil.DbUtil: Current database schema version: 57012017-02-07 23:41:46,528 WARN main:org.hibernate.engine.jdbc.spi.SqlExceptionHelper: SQL Error: 1665, SQLState: HY0002017-02-07 23:41:46,528 ERROR main:org.hibernate.engine.jdbc.spi.SqlExceptionHelper: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.2017-02-07 23:41:46,530 ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: ScmActive at bootup: The configured database is being used by another instance of Cloudera Manager.2017-02-07 23:41:46,530 INFO main:org.springframework.beans.factory.support.DefaultListableBeanFactory: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7dc0f706: defining beans [commandLineConfigurationBean,entityManagerFactoryBean,com.cloudera.server.cmf.TrialState,com.cloudera.server.cmf.TrialManager,com.cloudera.cmf.crypto.LicenseLoader]; root of factory hierarchy2017-02-07 23:41:46,530 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 java.lang.RuntimeException: ScmActive at bootup: Failed to validate the identity of Cloudera Manager. at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:616) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
当时只去考虑这个错误了,2017-02-07 23:41:46,530 ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: ScmActive at bootup: The configured database is being used by another instance of Cloudera Manager.
结果各种查资料也没找到原因。最后只能从上面开始一个个错误去处理。先去搜索了SQL Error: 1665, SQLState: HY000,得到解决方案如下:
ERROR 1665 (HY000): Cannot executestatement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTand at least one table uses a storage engine limited to row-based logging.InnoDB is limited to row-logging when transaction isolation level is READCOMMITTED or READ UNCOMMITTED.【报错原因】
innodb的事务隔离级别是read commited或者read uncommited模式时,binlog不可以使用statement模式。
【解决方法】
不重启MySQL实例的解决方法:
set global binlog_format=mixed重新建立的会话session中binlog format会变为mixed模式。
然后,又重启了一个server。。。结果问题解决了。。。
新闻热点
疑难解答