slurm: Как связать интерфейс с вычислительными узлами?

У меня есть интерфейс и два вычислительных узла

Все имеют одинаковый файл slurm.conf, который заканчивается на (подробности см. На странице https://gist.github.com/avatar-lavventura/46b56cd3a29120594773ae1c8bc4b72c):

NodeName=ebloc2 NodeHostName=ebloc NodeAddr=54.227.62.43 CPUs=1
PartitionName=debug Nodes=ebloc2 Default=YES MaxTime=INFINITE State=UP

NodeName=ebloc4 NodeHostName=ebloc NodeAddr=54.236.173.82 CPUs=1
PartitionName=debug Nodes=ebloc4 Default=YES MaxTime=INFINITE State=UP

slurmctld: проверяет только информацию о первом записанном узле и не проверяет информацию о втором записанном узле. Когда я пытаюсь отправить задание, я получаю следующую ошибку: он обрабатывает только первый записанный IP-адрес узла, и когда я запускаю sudo slurmd на первом узле, он работает.

Ошибка:

slurmctld: debug2: slurm_connect failed: Connection refused
slurmctld: debug2: Error connecting slurm stream socket at 54.227.62.43:6821: Connection refused
slurmctld: debug2: slurm_connect failed: Connection refused
slurmctld: debug2: Error connecting slurm stream socket at 54.227.62.43:6821: Connection refused

Проблема: вычислительный узел, который я упомянул в первом порядке, получает задания, а вычислительный узел, который я упомянул во втором порядке, - нет. Как я мог это исправить.

журналы slurmctld (https://gist.github.com/avatar-lavventura/14415ec8c1 )

Спасибо за ваше драгоценное время и помощь.


person alper    schedule 23.06.2017    source источник
comment
Я не могу воспроизвести вашу конфигурацию прямо сейчас, но, возможно, попытаюсь: 1) удалить NodeHostName (то же имя повторяется, я считаю, что этого не должно быть); 2) удалите первую строчку PartitionName (она повторяется, а у вас всего 1 раздел); 3) отредактируйте вторую строку PartitionName на «Nodes = ebloc2, ebloc4». Также убедитесь, что головной узел и оба узла имеют одинаковый файл slurm.conf (в ваших журналах есть ошибки).   -  person ang mo    schedule 23.06.2017
comment
Когда я удаляю NodeHostName slurmctld, выдает ошибку: slurmctld: fatal: Frontend not configured correctly in slurm.conf. See man slurm.conf look for frontendname. Думаю, мне следует оставить его. @angmo   -  person alper    schedule 23.06.2017
comment
Я повторяю каждый комментарий @angmo, и вы должны, кроме того, убедиться, что ebloc2, ebloc4 и ebloc действительно являются результатом команды hostname -s на вычислительных узлах и узле контроллера соответственно   -  person damienfrancois    schedule 27.06.2017
comment
Имя хоста всех узлов возвращало ebloc, я думаю, это была основная причина ошибки. Насколько я понимаю, hostname -s из ebloc2 должен возвращать ebloc2, hostname -s из ebloc4 должен возвращать ebloc4 и так далее, верно? @damienfrancois   -  person alper    schedule 27.06.2017
comment
Когда я меняю имя хоста вычислительного узла с ebloc на ebloc2, slurmd выдает следующую ошибку: slurmd: fatal: невозможно определить имя узла этого slurmd @damienfrancois   -  person alper    schedule 03.07.2017


Ответы (2)


В файле конфигурации попробуйте удалить ControlAddr=127.0.0.1; или заменив IP-адресом ebloc. Этот 127.0.0.1 адрес в основном означает «я», а ControlAddr используется slurmd для подключения к контроллеру.

Удалите также NodeHostName=localhost NodeAddr=127.0.0.1 по той же причине.

И убедитесь, что ebloc, ebloc1 и ebloc2 действительно являются тем, что hostname -s возвращает на этих машинах.

Также убедитесь, что брандмауэр не блокирует порты Slurm в любом направлении между этими машинами и что SELinux отключен или разрешен. Убедитесь, что запущен slurmd, а также munge.

person damienfrancois    schedule 30.03.2019

У вас может быть только одна PartitionName строка на раздел. Снимаем первую и ставим:

PartitionName = debug Nodes=ebloc2,ebloc4 Default=YES MaxTime=INFINITE State=UP

или используйте регулярное выражение:

PartitionName = debug Nodes=ebloc[2,4] Default=YES MaxTime=INFINITE State=UP
person Brian Andrus    schedule 06.05.2019