目录
- 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
[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