本文介绍了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,我认为这是正确的,至少是专门用于定义主机和节点的部分:

slurm.conf

当使用sinfoscontrol命令在主节点中显示信息时,出现了奇怪的情况。我将在此处粘贴输出:

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工作节点无法连接到主节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 00:15