cloudera manager - Error while committing the transaction


现象:java

在用cloudera manager编辑各个组件配置的时候mysql

有可能会出现报错信息:sql

Error while committing the transaction
数据库


cloudera server 端日志:
hibernate


Caused by: java.sql.BatchUpdateException: Incorrect string value: '\xE5\xB7\xB2\xE6\x9B\xB4...' for column 'VALUE' at row 1
        at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2054)
        at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
        at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.performExecution(BatchingBatch.java:110)
        ... 98 more
Caused by: java.sql.SQLException: Incorrect string value: '\xE5\xB7\xB2\xE6\x9B\xB4...' for column 'VALUE' at row 1
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
        at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2006)
        ... 101 more日志

缘由:orm

CM元数据库 字符集不兼容 字段 VALUE  MESSAGE  没法写入对应的值。server


解决办法:ci

修改元数据库。string

use  cm_db;

alter table CONFIGS         modify `VALUE` longtext character set utf8 collate utf8_general_ci; alter table CONFIGS_AUD     modify `VALUE` longtext character set utf8 collate utf8_general_ci; alter table GLOBAL_SETTINGS modify `VALUE` longtext character set utf8 collate utf8_general_ci; alter table USER_SETTINGS   modify `VALUE` longtext character set utf8 collate utf8_general_ci; alter table AUDITS modify `MESSAGE` longtext character set utf8 collate utf8_general_ci; alter table REVISIONS modify `MESSAGE` longtext character set utf8 collate utf8_general_ci;