You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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换成你自己的密码):
    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;
    
    注意:如果你的slurmdbd要连接远程数据库,把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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:09:11