当 my.cnf 中的 innodb 未注释时,MariaDB 列存储未启动

Posted

技术标签:

【中文标题】当 my.cnf 中的 innodb 未注释时,MariaDB 列存储未启动【英文标题】:MariaDB Columnstore not starting when innodb uncommented in my.cnf 【发布时间】:2019-03-18 03:51:10 【问题描述】:

我在 Centos 7 上安装了 mariadb-columnstore-1.2.2-1-centos7.x86_64,单服务器安装,内部存储配置。运行 postConfigure 脚本时没有遇到任何错误,并且列存储数据库启动正常。

但是,当我取消注释 /usr/local/mariadb/columnstore/mysql/my.cnf 中的 innodb 参数并通过 mcsadmin 中的“stopSystem”和“startSystem”重新启动数据库时,服务器将无法启动,似乎是尝试启动 mysqld 时失败。重新注释掉 my.cnf 中的 innodb 参数,然后启动服务器工作正常。以下是我从 mcsadmin 控制台看到的错误以及错误日志。有没有其他人经历过类似的事情?非常感谢任何建议/见解!

* from the default my.cnf, the innodb parameters in question, uncommented that break the server startup:

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /usr/local/mariadb/columnstore/mysql/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /usr/local/mariadb/columnstore/mysql/lib/mysql/
innodb_log_arch_dir = /usr/local/mariadb/columnstore/mysql/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

* from mcsadmin:

   System being started, please wait...

TIMEOUT: ProcMon not responding to getSystemStatus
**** startSystem Failed : check log files
mcsadmin>

and

[root@db-01 columnstore]# mcsadmin getsystemi
getsysteminfo   Sun Mar 17 23:01:07 2019

System columnstore-1

System and Module statuses

Component     Status                       Last Status Change
------------  --------------------------   ------------------------
System        FAILED                       Sun Mar 17 22:57:07 2019

Module pm1    FAILED                       Sun Mar 17 22:57:05 2019


MariaDB ColumnStore Process statuses

Process             Module    Status            Last Status Change        Process ID
------------------  ------    ---------------   ------------------------  ----------
ProcessMonitor      pm1       ACTIVE            Sun Mar 17 22:54:45 2019       24676
ProcessManager      pm1       ACTIVE            Sun Mar 17 22:54:51 2019       24827
DBRMControllerNode  pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
ServerMonitor       pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
DBRMWorkerNode      pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
DecomSvr            pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
PrimProc            pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
ExeMgr              pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
WriteEngineServer   pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
DDLProc             pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
DMLProc             pm1       MAN_OFFLINE       Sun Mar 17 22:56:46 2019
mysqld              pm1       FAILED            Sun Mar 17 22:57:05 2019

* from the /var/log/mariadb/columnstore/err.log:

Mar 17 22:28:46 db-01 controllernode[2705]: 46.605286 |0|0|0| E 29 CAL0000: DBRM: error: SessionManager::setSystemState() failed (network)
Mar 17 22:28:46 db-01 controllernode[2705]: 46.605690 |0|0|0| E 29 CAL0000: DBRM: error: SessionManager::setSystemState() failed (network)
Mar 17 22:32:43 db-01 oamcpp[15672]: 43.491498 |0|0|0| E 08 CAL0000: ***mysql.pid FILE SIZE EQUALS ZERO
Mar 17 22:32:43 db-01 ProcessMonitor[15672]: 43.491601 |0|0|0| C 18 CAL0000: STARTALL: MySQL failed to start, start-module failure
Mar 17 22:32:45 db-01 ProcessManager[15811]: 45.405253 |0|0|0| C 17 CAL0000: startMgrProcessThread Exit with a failure, error returned from startSystemThread


* from /var/log/mariadb/columnstore/warning.log

Mar 17 22:32:17 db-01 ProcessMonitor[15672]: 17.041254 |0|0|0| I 18 CAL0000:
Mar 17 22:32:17 db-01 ProcessMonitor[15672]: 17.041324 |0|0|0| I 18 CAL0000: **********Process Monitor Started**********
Mar 17 22:32:33 db-01 ProcessMonitor[15672]: 33.998324 |0|0|0| I 18 CAL0000:
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.019065 |0|0|0| I 17 CAL0000:
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.019141 |0|0|0| I 17 CAL0000: **********Process Manager Started**********
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.021371 |0|0|0| I 17 CAL0000: Running Active
Mar 17 22:32:40 db-01 ProcessMonitor[15672]: 40.405513 |0|0|0| I 18 CAL0000: MSG RECEIVED: Start All process request...
Mar 17 22:32:43 db-01 oamcpp[15672]: 43.491498 |0|0|0| E 08 CAL0000: ***mysql.pid FILE SIZE EQUALS ZERO
Mar 17 22:32:43 db-01 ProcessMonitor[15672]: 43.491601 |0|0|0| C 18 CAL0000: STARTALL: MySQL failed to start, start-module failure
Mar 17 22:32:43 db-01 ProcessMonitor[15672]: 43.492527 |0|0|0| I 18 CAL0000: STARTALL: ACK back to ProcMgr, return status = 1
Mar 17 22:32:45 db-01 ProcessManager[15811]: 45.405253 |0|0|0| C 17 CAL0000: startMgrProcessThread Exit with a failure, error returned from startSystemThread

* from /var/log/messages:

Mar 17 22:32:17 db-01 ProcessMonitor[15672]: 17.041254 |0|0|0| I 18 CAL0000:
Mar 17 22:32:17 db-01 ProcessMonitor[15672]: 17.041324 |0|0|0| I 18 CAL0000: **********Process Monitor Started**********
Mar 17 22:32:33 db-01 ProcessMonitor[15672]: 33.998324 |0|0|0| I 18 CAL0000:
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.019065 |0|0|0| I 17 CAL0000:
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.019141 |0|0|0| I 17 CAL0000: **********Process Manager Started**********
Mar 17 22:32:35 db-01 ProcessManager[15811]: 35.021371 |0|0|0| I 17 CAL0000: Running Active
Mar 17 22:32:40 db-01 ProcessMonitor[15672]: 40.405513 |0|0|0| I 18 CAL0000: MSG RECEIVED: Start All process request...
Mar 17 22:32:43 db-01 oamcpp[15672]: 43.491498 |0|0|0| E 08 CAL0000: ***mysql.pid FILE SIZE EQUALS ZERO
Mar 17 22:32:43 db-01 ProcessMonitor[15672]: 43.491601 |0|0|0| C 18 CAL0000: STARTALL: MySQL failed to start, start-module failure
Mar 17 22:32:43 db-01 ProcessMonitor[15672]: 43.492527 |0|0|0| I 18 CAL0000: STARTALL: ACK back to ProcMgr, return status = 1
Mar 17 22:32:45 db-01 ProcessManager[15811]: 45.405253 |0|0|0| C 17 CAL0000: startMgrProcessThread Exit with a failure, error returned from startSystemThread

【问题讨论】:

【参考方案1】:

有一个日志我忘记检查了:

/usr/local/mariadb/columnstore/mysql/db/db-01.err

有这个错误:

2019-03-18 12:30:13 139826114562176 [错误] /usr/local/mariadb/columnstore/mysql//bin/mysqld: 未知变量 'innodb_additional_mem_pool_size=20M'

innodb_additional_mem_pool_size 参数已弃用。

注释掉该参数可以解决问题。

【讨论】:

以上是关于当 my.cnf 中的 innodb 未注释时,MariaDB 列存储未启动的主要内容,如果未能解决你的问题,请参考以下文章

sql 在my.cnf中找到G中的最佳innodb_buffer_pool_size

72GB内存生产环境中的my.cnf

webshell导致项目崩溃

修改mysql开启innodb支持

mysql my.cnf配置文件详解

MysqlMysql数据库与InnoDB存储引擎表的各种类型文件