一、问题描述
CDH启动报错
systemctl restart cloudera-scm-server
查看日志
tail -200 /var/log/cloudera-scm-server/cloudera-scm-server.log
2019-06-06 09:30:50,889 ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: Unable to upgrade schema to latest version.
java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
at com.cloudera.enterprise.dbutil.SqlFileRunner.runSqlFile(SqlFileRunner.java:86)
at com.cloudera.enterprise.dbutil.SqlScriptRunnerFactory$SqlStringRunner.run(SqlScriptRunnerFactory.java:211)
at com.cloudera.enterprise.dbutil.SqlScriptRunnerFactory$SqlScriptRunnerComposite.run(SqlScriptRunnerFactory.java:139)
at com.cloudera.enterprise.dbutil.SqlScriptRunnerFactory$SqlScriptRunnerComposite.run(SqlScriptRunnerFactory.java:139)
二、问题原因
CDH之前是可以启动的,但是,一次不正常关机后,导致很多后续问题。在一步一步采坑过程中。后续发现可能原因:
自己mysql是mysql5.7.19版本。可能是jdbc版本问题,就把mysql-connector-java-5.1.27-bin.jar换成了mysql-connector-java-5.1.39-bin.jar,然后重启就ok!
这次没有找到根本原因,只是猜测找到答案。
三、解决办法
cp /opt/mysql-connector-java-5.1.39-bin.jar /usr/share/cmf/lib/