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。。。结果问题解决了。。。



你可能感兴趣的:(CDH)