前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CM启动报InnoDB engine not found分析

CM启动报InnoDB engine not found分析

作者头像
Fayson
修改2018-04-01 19:12:33
1.1K0
修改2018-04-01 19:12:33
举报
文章被收录于专栏:Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.问题描述

cloudera-scm-server服务启动失败,日志报错如下:

代码语言:txt
复制
2017-09-10 10:23:47,267 ERROR main:com.cloudera.enterprise.dbutil.DbUtil: InnoDB engine not found. Show engines reported: [MRG_MYISAM, CSV, MyISAM, MEMORY]
2017-09-10 10:23:47,268 ERROR main:com.cloudera.server.cmf.bootstrap.EntityManagerFactoryBean: InnoDb engine isn't present or enabled. SCM requires InnoDb MySQL db engine.

2.问题复现

测试环为CDH5.12.1,以下为复现步骤。

  1. 将/tmp目录修改为755权限
代码语言:txt
复制
[root@ip-172-31-6-148 /]# chmod 755 tmp/
[root@ip-172-31-6-148 /]# ll
total 116
drwxr-xr-x. 231 root root 20480 Sep 10 15:48 tmp
[root@ip-172-31-6-148 /]# 

2.重启mysql服务

代码语言:txt
复制
[root@ip-172-31-6-148 /]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@ip-172-31-6-148 /]# 

3.启动cloudera-scm-server服务

代码语言:txt
复制
[root@ip-172-31-6-148 /]# service cloudera-scm-server restart
Stopping cloudera-scm-server:                               [  OK  ]
Starting cloudera-scm-server:                               [  OK  ]
[root@ip-172-31-6-148 /]#

4.查看启动日志报错如问题描述一致

3.解决方法

将/tmp目录权限修改为777,重启mysql和cloudera-scm-server服务

  1. 修改/tmp目录权限为777
代码语言:txt
复制
[root@ip-172-31-6-148 /]# chmod 777 tmp/
[root@ip-172-31-6-148 /]# ll
total 116
drwxrwxrwx. 231 root root 20480 Sep 10 15:48 tmp
[root@ip-172-31-6-148 /]# 

2.重启msyql服务

代码语言:txt
复制
[root@ip-172-31-6-148 /]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@ip-172-31-6-148 /]# 

3.重启cloudera-scm-server服务

代码语言:txt
复制
[root@ip-172-31-6-148 /]# service cloudera-scm-server restart
Stopping cloudera-scm-server:                               [  OK  ]
Starting cloudera-scm-server:                               [  OK  ]
[root@ip-172-31-6-148 /]#

CM正常启动,问题解决。

4.备注

  • 出现InnoDBengines not found

登录mysql通过show engines命令查看mysql引擎

代码语言:txt
复制
mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)

mysql> 

注意:如果没有显示InnoDB Engine可能是/tmp目录权限不足导致,也可能是源码编译的时候未编译InnoDB引擎;

  • 可以通过showplugins命令查看mysql支持的插件
代码语言:txt
复制
mysql> show plugins;
+------------+--------+----------------+---------+---------+
| Name       | Status | Type           | Library | License |
+------------+--------+----------------+---------+---------+
| binlog     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| partition  | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| CSV        | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MEMORY     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| InnoDB     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MyISAM     | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL    | GPL     |
+------------+--------+----------------+---------+---------+
7 rows in set (0.00 sec)
mysql> 

如果没有InnoDB则可以通过INSTALL命令安装

  • 使用INSTALL命令安装InnoDB

查看mysql插件安装目录

代码语言:txt
复制
mysql> show variables like 'plugin_dir'; 
+---------------+-------------------------+
| Variable_name | Value                   |
+---------------+-------------------------+
| plugin_dir    | /usr/lib64/mysql/plugin |
+---------------+-------------------------+
1 row in set (0.00 sec)

查看linux目录下是否有ha_innodb*.so的文件

代码语言:txt
复制
[root@ip-172-31-6-148 ~]# cd /usr/lib64/mysql/plugin 
[root@ip-172-31-6-148 plugin]# ll
total 1416
lrwxrwxrwx 1 root root      25 Sep 10 15:47 ha_innodb_plugin.so -> ha_innodb_plugin.so.0.0.0
lrwxrwxrwx 1 root root      25 Sep 10 15:47 ha_innodb_plugin.so.0 -> ha_innodb_plugin.so.0.0.0
-rwxr-xr-x 1 root root 1259136 Jan 26  2017 ha_innodb_plugin.so.0.0.0
[root@ip-172-31-6-148 plugin]# 

执行Install命令安装InnoDB引擎

代码语言:txt
复制
mysql> INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so';
Query OK, 0 rows affected (0.23 sec)

mysql>

如果没有ha_innodb_plugin.so文件则需要考虑重新编译InnoDB引擎。


醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档