Настройка MySQL для SLURM

Настройка MySQL для SLURM

У меня возникли проблемы с работой SLURM (для планирования заданий) с базой данных MySQL. Я использовалэтоткак ссылка, но, возможно, я что-то не так понял. Если кто-то может мне сказать, что я пропустил, это было бы здорово...

Это SLURM 21.08 на Ubuntu 22.10. Я использую MySQL 8.0.32.

Я ранее настроил SLURM на работу с сохранением завершения и учета в файле. И, похоже, все работало нормально; контроллер был запущен, и я выполнил одну или две задачи нормально.

Затем я перешел на MySQL. У меня /etc/slurm/slurm.confбыли обновлены следующие значения:

 Job Completion Logging | MySQL
      JobCompLoc | slurm_complete_db
      JobCompHost | localhost
      JobCompPort | <blank>
      JobCompUser | slurm
      JobCompPass | ...some password...
 Job Accounting Storage | SlurmDBD
      AccountingStorageLoc | slurm_acct_db
      AccountingStorageHost | localhost
      AccountingStoragePort | <blank>
      AccountingStorageUser | slurm
      AccountingStoragePass | ...
      AccountingStoreFlags | job_script,job_env

И в /etc/slurm/slurmdbd.conf:

 AuthType=auth/munge
 DbdHost=xps8930
 DebugLevel=info
 StorageHost=xps8930
 StorageLoc=slurm_acct_db
 StoragePass=...
 StorageType=accounting_storage/mysql
 StorageUser=slurm
 LogFile=/var/log/slurm/slurmdbd.log
 PidFile=/run/slurmdbd.pid
 SlurmUser=slurm

Я создал две базы данных MySQL, пользователя с именем «slurm» и предоставил следующие привилегии:

CREATE DATABASE slurm_complete_db DEFAULT CHARACTER SET utf8 COLLATE
utf8_unicode_ci ;
CREATE DATABASE slurm_acct_db DEFAULT CHARACTER SET utf8 COLLATE
utf8_unicode_ci ;
CREATE USER 'slurm'@'%' IDENTIFIED WITH caching_sha2_password BY '' ;
GRANT ALL ON slurm_complete_db.* TO 'slurm'@'%';
GRANT ALL ON slurm_acct_db.* TO 'slurm'@'%';

С помощью команды «show engines» я подтвердил, что поддержка InnoDB включена.

Поскольку базы данных пусты, я считаю, что следующим шагом должна быть настройка базы данных. В slurm.conf, я назвал свой ClusterName "personal". Итак, я сделал это:

$ sacctmgr add cluster personal
sacctmgr: error: slurm_persist_conn_open_without_init: failed to open
persistent connection to host:localhost:6819: Connection refused
sacctmgr: error: Sending PersistInit msg: Connection refused

slurmи slurmdbdзапущены (SLURM и MySQL находятся на одном компьютере):

$ ps -aef | grep slurm
root        1407       1  0 09:42 ?        00:00:08 /usr/sbin/slurmd -D -s
root        1857       1  0 09:43 ?        00:00:03 /usr/sbin/slurmdbd -D -s

В /var/log/slurm/slurmdbd.log, я вижу это:

[2023-01-26T18:06:02.541] error: mysql_real_connect failed: 2003 Can't
connect to MySQL server on 'xps8930:3306' (111)
[2023-01-26T18:06:02.541] error: The database must be up when starting
the MYSQL plugin.  Trying again in 5 seconds.

В /var/log/slurm/slurmctld.log, у меня есть это:

[2023-01-26T09:42:33.264] error: Configured MailProg is invalid
[2023-01-26T09:42:33.350] slurmctld version 21.08.5 started on cluster personal
[2023-01-26T09:42:36.121] error: slurm_persist_conn_open_without_init: failed to open persistent connection to host:localhost:6819:
Connection refused
[2023-01-26T09:42:36.121] error: Sending PersistInit msg: Connection refused
[2023-01-26T09:42:36.153] accounting_storage/slurmdbd:  clusteracct_storage_p_register_ctld: Registering slurmctld at port 6817 with slurmdbd
[2023-01-26T09:42:36.153] error: Sending PersistInit msg: Connection refused
[2023-01-26T09:42:36.154] error: Sending PersistInit msg: Connection refused
[2023-01-26T09:42:37.456] No memory enforcing mechanism configured.
[2023-01-26T09:42:39.924] error: mysql_real_connect failed: 2002 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[2023-01-26T09:42:39.924] fatal: You haven't inited this storage yet.

Я не уверен, что мне делать дальше или какие шаги я упускаю. Думаю, между slurmdbdи slurmctld, на чем мне следует сосредоточиться slurmdbdв первую очередь? Как только это заработает, тогда slurmctldдолжно появиться или и/или я могу попытаться заставить это работать.

Извините за длинный пост! Буду признателен за любые советы!

PS: Команда munge -n | unmungeвыполнена успешно.

решение1

Отложив эту проблему на много месяцев, я наконец решил, что мне нужно заставить это работать. Надеюсь, эта информация поможет кому-то еще, кто пытается разобраться с этим.

hostnameвернул xps8930, и это было то, что я использовал, когда делал учет на основе файлов. Мне пришлось установить эти значения вместо этого (другие значения в файлах конфигурации не имели отношения к проблеме).

В /etc/slurm/slurm.conf:

ClusterName=personal
SlurmctldPidFile=/run/slurm/slurmctld.pid
SlurmdPidFile=/run/slurm/slurmd.pid
AccountingStorageHost=localhost
AccountingStoragePass=/var/run/munge/munge.socket.2
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageUser=slurm
AccountingStoreFlags=job_script,job_env
JobCompHost=localhost
JobCompPass=<some MySQL password>
JobCompType=jobcomp/mysql
JobCompUser=slurm
##  Database defaults to slurm_jobcomp_db
#JobCompLoc=slurm_complete_db

В /etc/slurm/slurmdbd.conf:

AuthInfo=/var/run/munge/munge.socket.2
AuthType=auth/munge
DbdHost=localhost
DebugLevel=info
LogFile=/var/log/slurm/slurmdbd.log
PidFile=/run/slurm/slurmdbd.pid
SlurmUser=slurm
StorageHost=localhost
StoragePass=<same MySQL password as above, since it's the same user>
StorageType=accounting_storage/mysql
StorageUser=slurm
StorageLoc=slurm_acct_db

AccountingStoragePassв первом файле имеет то же значение, что и AuthInfoво втором файле. Я полагаю, что их можно оставить пустыми, чтобы можно было использовать значения по умолчанию. 10-летнийразмещениепредположил, что это может быть ошибка. Но текущийдокументацияибо AuthInfoговорит, что это нормально.

После запуска slurmdbd( sudo service slurmdbd start) sacctmgrможно выполнить:

$ sudo sacctmgr add cluster personal
 Adding Cluster(s)
  Name           = personal
Would you like to commit changes? (You have 30 seconds to decide)
(N/y): y
$ sacctmgr list cluster
   Cluster     ControlHost  ControlPort   RPC     Share GrpJobs       GrpTRES GrpSubmit MaxJobs       MaxTRES MaxSubmit     MaxWall                  QOS   Def QOS 
---------- --------------- ------------ ----- --------- ------- ------------- --------- ------- ------------- --------- ----------- -------------------- --------- 
  personal                            0     0         1                                                                                           normal

Как только все заработало, я запустил slurmctldи slurmdслужбы. И пока все выглядит хорошо.

Порты и т. д. были оставлены по умолчанию. И, возможно, несколько значений можно было бы опустить, поскольку значения по умолчанию казались подходящими.

Короче говоря, что изменилось по сравнению с тем, что было раньше:

  • Использование localhostвslurmdbd.conf
  • И не вводить пароль AccountingStoragePass. Поскольку там есть «Pass», я предположил, что мне нужно ввести пароль.

Надеюсь, это будет полезно другим!

Связанный контент