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

2021-12-07 15:27:27 浏览数 (2)

目录

  • 1. 问题描述
    • 1.1 我遇到的报错信息
    • 1.2 总结此类报错信息
  • 2. 解决办法
    • 2.1 查看日志
    • 2.2 解决
      • (1)修改配置文件
      • (2)数据库备份(一定把相关库备份一下)
      • (3)重新初始化CM库
      • (4)将备份数据进行还原
      • (5)重启CM服务

1. 问题描述

1.1 我遇到的报错信息

Server启动失败,一直报错:

代码语言:javascript复制
ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: Tables have unsupported engine type [null]. InnoDB is required. Table mapping: ........................

1.2 总结此类报错信息

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

代码语言:javascript复制
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

代码语言:javascript复制
[mysqld]
default-storage-engine=INNODB
...

修改后重启 MySQL 服务 service mysqld restart

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

(3)重新初始化CM库

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

代码语言:javascript复制
# 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服务

代码语言:javascript复制
service cloudera-scm-server start

0 人点赞