啟動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。。。結果問題解決了。。。
新聞熱點
疑難解答