Ubuntu 16.04初次安装slurmdbd启动失败求助
排查Ubuntu 16.04上slurmdbd启动失败(数据库语法错误)的问题
嘿,我太懂你碰到的这个坑了——Ubuntu 16.04仓库里的slurmdbd 15.08.7版本,默认安装后根本没法直接启动,核心原因就是跳过了数据库配置的关键步骤,尤其是数据库初始化和权限设置这两块,我帮你一步步捋:
1. 先确认数据库依赖是否配置完整
slurmdbd依赖MySQL/MariaDB,虽然安装时会自动拉取依赖包,但默认不会帮你完成初始化:
- 先检查数据库服务状态:
sudo systemctl status mysql,如果未安装,先执行安装命令:sudo apt-get install mariadb-server - 运行初始化脚本设置根密码:
sudo mysql_secure_installation,跟着提示完成配置即可,记得设置一个安全的密码。
2. 为slurmdbd创建专用数据库和用户
默认slurmdbd没有权限直接操作系统数据库,必须手动创建专属的库和用户:
- 登录MySQL:
sudo mysql -u root -p(输入刚才设置的根密码) - 执行以下SQL命令(把
your_secure_password换成你自己的密码):
注意:如果你的slurmdbd要连接远程数据库,把CREATE DATABASE slurm_acct_db; CREATE USER 'slurm'@'localhost' IDENTIFIED BY 'your_secure_password'; GRANT ALL PRIVILEGES ON slurm_acct_db.* TO 'slurm'@'localhost'; FLUSH PRIVILEGES; EXIT;localhost改成对应IP即可,本地使用localhost没问题。
3. 配置slurmdbd.conf文件
安装后的默认配置文件是空的,必须填写数据库连接信息:
- 编辑配置文件:
sudo nano /etc/slurm-llnl/slurmdbd.conf - 添加以下关键配置(替换
your_secure_password为刚才设置的密码):DbdHost=localhost DbdAddr=127.0.0.1 DbdPort=6819 StorageType=accounting_storage/mysql StorageHost=localhost StoragePass=your_secure_password StorageUser=slurm StorageLoc=slurm_acct_db LogFile=/var/log/slurm-llnl/slurmdbd.log PidFile=/var/run/slurm-llnl/slurmdbd.pid - 修改配置文件权限(slurmdbd以slurm用户运行,必须确保它能读写这个文件):
sudo chown slurm:slurm /etc/slurm-llnl/slurmdbd.conf sudo chmod 600 /etc/slurm-llnl/slurmdbd.conf
4. 初始化数据库表
即使建了库和用户,slurmdbd不会自动创建所需的表,得手动触发初始化:
- 先以verbose模式启动slurmdbd:
sudo slurmdbd -D -v,第一次运行会自动创建所有必要的数据库表,看到类似Created database tables的日志就成功了,按Ctrl+C退出。 - 或者用sacctmgr命令初始化集群信息:
sudo sacctmgr create cluster name=ubuntu-cluster(把ubuntu-cluster换成你的集群名称)
5. 检查MySQL字符集(容易忽略的点)
Ubuntu 16.04的MariaDB默认字符集是latin1,而slurmdbd需要utf8,这会导致创建表时出现语法错误:
- 编辑MySQL配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf - 在
[mysqld]段落添加:character-set-server=utf8 collation-server=utf8_general_ci - 重启MySQL服务:
sudo systemctl restart mysql
最后验证启动
做完以上步骤,就可以正常启动slurmdbd了:
sudo systemctl start slurmdbd sudo systemctl status slurmdbd
如果还是有问题,去查看日志/var/log/slurm-llnl/slurmdbd.log,里面的错误信息会帮你定位具体问题——比如密码错误、权限不足或者字符集未修改正确。
内容的提问来源于stack exchange,提问作者Sethos II
相关产品推荐
相关产品推荐

