CM的元數據恢復到數據後,啓動server報錯

啓動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: 5701
2017-02-07 23:41:46,528 WARN main:org.hibernate.engine.jdbc.spi.SqlExceptionHelper: SQL Error: 1665, SQLState: HY000
2017-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 hierarchy
2017-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。。。結果問題解決了。。。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章