slurmctld: fatal: ОШИБКА ИМЕНИ КЛАСТЕРА
То, как я начинаю грязь:
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).
Примечание. Когда я пытаюсь запустить slurm от имени пользователя root и переключиться обратно, эта проблема начинает возникать. Мне пришлось переустановить MySQL, чтобы исправить это.
Спасибо за ваше драгоценное время и помощь.
1 ответ
Я полный noob SLURM (только начал интересоваться этим для работы), поэтому извиняюсь, если я делаю неправильные предложения, но я думаю, что могу указать на что-то неправильное.
Первая строка в вашей последовательности запуска:
mkdir -p /tmp/slurmstate/clustername
Итак, вы создаете каталог здесь, я имею в виду clustername
это каталог.
Когда демон запускается, он пытается прочитать это как файл ( используя fopen
а также fgets
см. исходный код последней версии).
А потом, так как поведение fopen
Если каталог является системно-зависимым, может произойти все, что угодно (он может прочитать мусор или потерпеть неудачу...). Было бы интересно, если бы вы могли указать, какую ОС вы используете.
Предложение:
rmdir /tmp/slurmstate/clustername
замените свою первую строку на
mkdir -p /tmp/slurmstate
, чтобы создатьslurmstate
каталог, если он не существует, но не создаетclustername
файл (или каталог!) себя там.
Первый раз это создаст clustername
файл, и напишите там имя, как взято из вашего slurm.conf
файл. Последующие запуски прочитают значение из файла и сравнят его с slurm.conf
и двигаться дальше при запуске.
PS: я только что заметил, что вы добавили эту строку в свое последнее редактирование, поэтому у вас была проблема с корнем до того, как вы это сделали... так что проблема, на которую я указываю, вероятно, ничего. Может быть, я должен удалить этот ответ (снова) (но, возможно, ваш вопрос потребует другого редактирования).