【问题标题】:slurmctld: fatal: CLUSTER NAME MISMATCHslurmctld:致命:集群名称不匹配
【发布时间】:2017-06-09 11:36:35
【问题描述】:

我开始 slurm 的方式:

mkdir -p /tmp/slurmstate/clustername
sudo slurmd
sudo munged -f
/etc/init.d/munge start 
sudo slurmdbd
sudo slurmctld -c

-

sacctmgr list cluster
   Cluster     ControlHost  ControlPort   RPC     Share GrpJobs       GrpTRES GrpSubmit MaxJobs       MaxTRES MaxSubmit     MaxWall                  QOS   Def QOS
---------- --------------- ------------ ----- --------- ------- ------------- --------- ------- ------------- --------- ----------- -------------------- ---------
   cluster                            0  7936         1                                                                                           normal

运行slurmctld -cD 给我以下错误。集群名称返回一些我不知道的无效字符串。我该如何解决?

> slurmctld -cD
slurmctld: fatal: CLUSTER NAME MISMATCH.
slurmctld has been started with "ClusterName=�����", but read "cluster" from the state files in StateSaveLocation.
Running multiple clusters from a shared StateSaveLocation WILL CAUSE CORRUPTION.
Remove /tmp/slurmstate/clustername to override this safety check if this is intentional (e.g., the ClusterName has changed).

注意:当我尝试以 root 用户身份运行 slurm 并切换回来时,开始出现此问题。我必须重新安装 mysql 才能修复它。

感谢您宝贵的时间和帮助。

【问题讨论】:

  • 您可以检查slurm.confClusterName 的值,并确保该文件的编码正确。
  • 实际上它在slurm.conf file 上为ClusterName=cluster。 @damienfrancois
  • 1) 为什么将/tmp/slurmstate/clustername 创建为一个目录(来自您最新的编辑)? --- 2) 我认为错误消息不正确,如果我阅读the source code correctly,则在状态文件中找到不可打印的字符,而不是在slurm.conf 中(错误是真实的,但不幸的是消息切换了值)
  • 哦...那么让我们取消删除我认为只是噪音的答案:)

标签: slurm


【解决方案1】:

我是一个完全的 SLURM 菜鸟(刚开始对它感兴趣以工作),所以如果我提出了误导性的建议,我深表歉意,但我想我可以指出一些错误。

启动序列的第一行:

mkdir -p /tmp/slurmstate/clustername

所以你在这里创建一个目录,我的意思是clustername 是一个目录

当守护程序启动时,它会尝试将此作为文件读取 (using fopen and fgets, see source code of latest version)。

然后,因为the behavior of fopen-ing a directory is system-dependent,任何事情都可能发生(它可能读取垃圾,或者失败......)。如果你能指定你正在使用的操作系统会很有趣。

建议:

  • rmdir /tmp/slurmstate/clustername

  • 将您的第一行替换为mkdir -p /tmp/slurmstate,以创建slurmstate 目录(如果它不存在),但不要自己在其中创建clustername 文件(或目录!)。

第一次它将创建clustername 文件,并在其中写入取自slurm.conf 文件的名称。后续启动会从文件中读取值并与slurm.conf中的比较,然后继续启动。

PS:我刚刚注意到您在上次编辑中添加了该行,所以在这样做之前您遇到了根本问题......所以我指出的问题可能没什么。也许我应该(再次)删除该答案(但也许您的问题需要再次编辑)。

【讨论】:

    猜你喜欢
    • 2011-09-01
    • 2017-06-29
    • 2013-01-29
    • 2014-03-27
    • 2020-01-25
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多