slurmctld:致命:集群名称不匹配
slurmctld: fatal: CLUSTER NAME MISMATCH
我开始吐口水的方式:
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
给我以下错误。集群名称 returns 一些我不知道的无效字符串。我该如何解决?
> 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 菜鸟(刚开始对它感兴趣是为了工作),如果我提出了错误的建议,我深表歉意,但我想我可以指出一些错误的地方。
启动序列中的第一行:
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 以来,任何事情都可能发生(它可能读取垃圾,或失败...)。如果您能指定您正在使用的 OS 会很有趣。
建议:
rmdir /tmp/slurmstate/clustername
将第一行替换为mkdir -p /tmp/slurmstate
,如果不存在则创建slurmstate
目录,但不要创建clustername
文件(或目录) !) 你自己在里面。
第一次它将创建 clustername
文件,并在其中写入从 slurm.conf
文件中获取的名称。后续启动将从文件中读取值并将其与 slurm.conf
中的值进行比较,然后继续启动。
PS : 我刚刚注意到你在上次编辑中添加了那行,所以 你在这样做之前遇到了根本问题 ... 所以我的问题指着可能没什么。也许我应该(再次)删除该答案(但也许您的问题需要再次编辑)。
我开始吐口水的方式:
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
给我以下错误。集群名称 returns 一些我不知道的无效字符串。我该如何解决?
> 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 菜鸟(刚开始对它感兴趣是为了工作),如果我提出了错误的建议,我深表歉意,但我想我可以指出一些错误的地方。
启动序列中的第一行:
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 以来,任何事情都可能发生(它可能读取垃圾,或失败...)。如果您能指定您正在使用的 OS 会很有趣。
建议:
rmdir /tmp/slurmstate/clustername
将第一行替换为
mkdir -p /tmp/slurmstate
,如果不存在则创建slurmstate
目录,但不要创建clustername
文件(或目录) !) 你自己在里面。
第一次它将创建 clustername
文件,并在其中写入从 slurm.conf
文件中获取的名称。后续启动将从文件中读取值并将其与 slurm.conf
中的值进行比较,然后继续启动。
PS : 我刚刚注意到你在上次编辑中添加了那行,所以 你在这样做之前遇到了根本问题 ... 所以我的问题指着可能没什么。也许我应该(再次)删除该答案(但也许您的问题需要再次编辑)。