本文介绍了Slurm工作节点无法连接到主节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试设置一个简单的Slurm集群。设置如下:两个虚拟机,一个将是主(同时也是一个辅助),我们称其为主(ubu18gpu-210),另一个将是另一个辅助(ubu18gpu-211)。
两台计算机的名称都是hostname -s
命令的确切输出。
所有要求和Slurm的安装都已在两台计算机上完成。我甚至可以在主节点上运行作业。然而,我面临的问题是,工人无法连接到主机。我在主节点上运行了Slurmdbd、Slurmctld和Slurmd守护进程,没有任何问题。工作节点也在运行Slurmd守护进程,但日志始终报告相同的错误:
[2021-09-22T10:52:54.049] error: get_addr_info: getaddrinfo() failed: Name or service not known
[2021-09-22T10:52:54.049] error: slurm_set_addr: Unable to resolve "ubu18gpu-210"
[2021-09-22T10:52:54.049] error: Unable to establish control machine address
[2021-09-22T10:52:54.049] error: Unable to register: No error
我已经多次查看了配置文件slurm.conf
,我认为这是正确的,至少是专门用于定义主机和节点的部分:
当使用sinfo
和scontrol
命令在主节点中显示信息时,出现了奇怪的情况。我将在此处粘贴输出:
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
debug* up infinite 2 idle ubu18gpu-[210-211]
scontrol show nodes ubu18gpu-[210-211]
NodeName=ubu18gpu-210 Arch=x86_64 CoresPerSocket=6
CPUAlloc=0 CPUTot=6 CPULoad=0.00
AvailableFeatures=(null)
ActiveFeatures=(null)
Gres=gpu:1
NodeAddr=192.168.23.210 NodeHostName=ubu18gpu-210 Version=21.08.0
OS=Linux 4.15.0-117-generic #118-Ubuntu SMP Fri Sep 4 20:02:41 UTC 2020
RealMemory=23531 AllocMem=0 FreeMem=8695 Sockets=1 Boards=1
State=IDLE ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
Partitions=debug
BootTime=2021-09-21T16:13:38 SlurmdStartTime=2021-09-22T11:08:39
LastBusyTime=2021-09-22T11:08:39
CfgTRES=cpu=6,mem=23531M,billing=6,gres/gpu=1
AllocTRES=
CapWatts=n/a
CurrentWatts=0 AveWatts=0
ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
NodeName=ubu18gpu-211 CoresPerSocket=6
CPUAlloc=0 CPUTot=6 CPULoad=0.00
AvailableFeatures=(null)
ActiveFeatures=(null)
Gres=gpu:1
NodeAddr=192.168.23.211 NodeHostName=ubu18gpu-211
RealMemory=23531 AllocMem=0 FreeMem=22257 Sockets=1 Boards=1
State=IDLE ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
Partitions=debug
BootTime=None SlurmdStartTime=None
LastBusyTime=2021-09-22T11:08:42
CfgTRES=cpu=6,mem=23531M,billing=6,gres/gpu=1
AllocTRES=
CapWatts=n/a
CurrentWatts=0 AveWatts=0
ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
似乎正在正确检测工作节点,尽管我认为这是因为配置文件中的信息。
我真的不知道会发生什么。我可以正确地从一台计算机ping另一台计算机,因此它们之间存在连接。我还打开了6817-6818 Slurm默认端口,没有任何改进。我也关注了Official Troubleshooting Guide,一切似乎都是正确的。
此外,我还使用网络时间协议(NTP)在计算机之间同步时间。主服务器托管NTP服务器,工作服务器的输出为:ntpq -c lpeer
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.23.210 LOCAL(0) 11 u 38 64 377 0.255 -0.518 0.299
我认为这是正确的行为
有人知道这里可能发生了什么吗?
推荐答案
幸运的是,我似乎找到了解决方案。我不知道我的配置中是否有特定的内容,但在每个节点中,我必须更新/etc/hosts
文件,将主机名和IP添加为:
192.168.23.210 ubu18gpu-210 ubu18gpu-210
这篇关于Slurm工作节点无法连接到主节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!