为单台计算机设置slurm.conf文件



嗨,我正在尝试使用一个处理管道,该管道被编写为使用slurm在多个计算机集群上运行,但我更喜欢在单个complexer上运行。我在Ubuntu 18上,已经安装了slurm-wlm,但我无法让管道读取我的slurm.conf文件,该文件是我从slurm版本18.08配置工具在线制作的,目的是将其作为一个节点运行,这样我就不必重写管道代码。

每次我尝试运行这个管道sh脚本时,日志文件都会给出这个错误

sbatch:错误:_parse_next_key:无法识别的密钥处的分析错误:SlurmctldHostsbatch:error:分析文件/etc/slurm-llnl/slurm.conf第2行中的错误:"SlurmctldHost=charlie-Z370M-D3H"sbatch:致命:无法处理配置文件

charlie-Z370M-D3H是主机名

下面是我的slurm.conf文本,我希望有人能看到我需要做什么才能让工作

#
SlurmctldHost=charlie-Z370M-D3H
#SlurmctldHost=
#
#DisableRootJobs=NO
#EnforcePartLimits=NO
#Epilog=
#EpilogSlurmctld=
#FirstJobId=1
#MaxJobId=999999
#GresTypes=
#GroupUpdateForce=0
#GroupUpdateTime=600
#JobFileAppend=0
#JobRequeue=1
#JobSubmitPlugins=1
#KillOnBadExit=0
#LaunchType=launch/slurm
#Licenses=foo*4,bar
#MailProg=/bin/mail
#MaxJobCount=5000
#MaxStepCount=40000
#MaxTasksPerNode=128
MpiDefault=none
#MpiParams=ports=#-#
#PluginDir=
#PlugStackConfig=
#PrivateData=jobs
ProctrackType=proctrack/cgroup
#Prolog=
#PrologFlags=
#PrologSlurmctld=
#PropagatePrioProcess=0
#PropagateResourceLimits=
#PropagateResourceLimitsExcept=
#RebootProgram=
ReturnToService=1
#SallocDefaultCommand=
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
#SlurmdUser=root
#SrunEpilog=
#SrunProlog=
StateSaveLocation=/var/spool
SwitchType=switch/none
#TaskEpilog=
TaskPlugin=task/affinity
TaskPluginParam=Sched
#TaskProlog=
#TopologyPlugin=topology/tree
#TmpFS=/tmp
#TrackWCKey=no
#TreeWidth=
#UnkillableStepProgram=
#UsePAM=0
#
#
# TIMERS
#BatchStartTimeout=10
#CompleteWait=0
#EpilogMsgTime=2000
#GetEnvTimeout=2
#HealthCheckInterval=0
#HealthCheckProgram=
InactiveLimit=0
KillWait=30
#MessageTimeout=10
#ResvOverRun=0
MinJobAge=300
#OverTimeLimit=0
SlurmctldTimeout=120
SlurmdTimeout=300
#UnkillableStepTimeout=60
#VSizeFactor=0
Waittime=0
#
#
# SCHEDULING
#DefMemPerCPU=0
FastSchedule=1
#MaxMemPerCPU=0
#SchedulerTimeSlice=30
SchedulerType=sched/backfill
SelectType=select/cons_res
SelectTypeParameters=CR_Core
#
#
# JOB PRIORITY
#PriorityFlags=
#PriorityType=priority/basic
#PriorityDecayHalfLife=
#PriorityCalcPeriod=
#PriorityFavorSmall=
#PriorityMaxAge=
#PriorityUsageResetPeriod=
#PriorityWeightAge=
#PriorityWeightFairshare=
#PriorityWeightJobSize=
#PriorityWeightPartition=
#PriorityWeightQOS=
#
#
# LOGGING AND ACCOUNTING
#AccountingStorageEnforce=0
#AccountingStorageHost=
#AccountingStorageLoc=
#AccountingStoragePass=
#AccountingStoragePort=
AccountingStorageType=accounting_storage/none
#AccountingStorageUser=
AccountingStoreJobComment=YES
ClusterName=cluster
#DebugFlags=
#JobCompHost=
#JobCompLoc=
#JobCompPass=
#JobCompPort=
JobCompType=jobcomp/none
#JobCompUser=
#JobContainerType=job_container/none
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/none
SlurmctldDebug=3
#SlurmctldLogFile=
SlurmdDebug=3
#SlurmdLogFile=
#SlurmSchedLogFile=
#SlurmSchedLogLevel=
#
#
# POWER SAVE SUPPORT FOR IDLE NODES (optional)
#SuspendProgram=
#ResumeProgram=
#SuspendTimeout=
#ResumeTimeout=
#ResumeRate=
#SuspendExcNodes=
#SuspendExcParts=
#SuspendRate=
#SuspendTime=
#
#
# COMPUTE NODES
NodeName=linux[1-32] CPUs=1 State=UNKNOWN
PartitionName=debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP

我也遇到了同样的问题,结果发现在该网页上生成的conf文件只在18.08有效如果你查看创建slurm.conf-file的网页,你可能会注意到它只对18.08版本有效。因此,请验证您的SLURM版本是否至少为18.x,因为当时引入了conf文件中的密钥"SlurmctldHost"。

您可以通过简单地键入"dpkg-l|grep-SLURM"来验证您的SLURM版本,并记下安装了哪个版本。对于Ubuntu18.x,默认安装的软件包是slum17.11.9版本。(您可能需要从https://www.schedmd.com/archives.php选择已安装的版本并将其下载到本地计算机。

打开它并查看"/doc/html/"-dir,在那里您可以找到相应版本的配置程序html脚本。(例如,如果您的版本是17.11.9,那么"SlurmctldHost"(如18.08中介绍的(的对应密钥是17.11.9版本中的"ControlMachine"。因此,使用本地slurm-doc-dir中的配置器html脚本为您安装的slurm版本生成一个有效的slurm.conf。我做到了,效果很好。

最新更新