zl程序教程

您现在的位置是:首页 >  其他

当前栏目

CDH问题总结——Tables have unsupported engine type [xxx]. InnoDB is required.

2023-04-18 12:56:36 时间

目录

1. 问题描述

1.1 我遇到的报错信息

Server启动失败,一直报错:

ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: Tables have unsupported engine type [null]. InnoDB is required. Table mapping: ........................

1.2 总结此类报错信息

可以归纳为这样的报错信息

Tables have unsupported engine type [xxx]. InnoDB is required.

2. 解决办法

2.1 查看日志

cat /var/log/cloudera-scm-server/cloudera-scm-server.log

2.2 解决

(1)修改配置文件

分析日志,发现数据库要求INNODB,如果使用其他引擎就不行。 因此,在配置文件加上一行配置即可。

vim /etc/my.cnf

[mysqld]
default-storage-engine=INNODB
...

修改后重启 MySQL 服务 service mysqld restart

(2)数据库备份(一定把相关库备份一下)

(3)重新初始化CM库

数据库备份后,把数据库删了,重新完成建库、赋权限等一系列初始化操作,之后重启(不是必须重启,CDH6有个bug,如果初始化完CM库之后发现MySQL里面啥都没有,就重新完成本系列操作,删库后加上重启操作) 这里注意 CDH 版本不同,重置方法也不同,我这里用的 CDH6。

# CDH6
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmf cmf
# CDH5
/usr/share/cmf/schema/scm_prepare_database.sh mysql cm -h127.0.0.1 -uroot -ppasswd --scm-host 127.0.0.1 scm scm scm

(4)将备份数据进行还原

(5)重启CM服务

service cloudera-scm-server start