Slurm集群中sbcast无法从主节点向计算节点传输文件的问题求助
大家好,我有一个用于学术研究的Slurm集群,包含6个计算节点和1个主节点。最近我在测试集群的sbatch任务提交能力,想通过sbcast命令把主节点上的文件复制到计算节点,然后在计算节点上执行这个文件,但一直遇到问题,希望能得到大家的帮助。
第一次尝试的问题情况
我提交了sbatch test_job,对应的bash脚本如下:
#!/bin/bash #SBATCH --job-name=totaltestjob #SBATCH --output=newoutput.out #SBATCH --error=error1.txt #SBATCH --exclusive #SBATCH --nodes=1 sbcast pscript.py ~ python3 pscript.py
提交后,计算节点上的error1.txt显示:
sbcast: error: Can't open 'data.txt': No such file or directory.
我已经给pscript.py设置了777权限,也试过用绝对路径(比如/home/user/pscript.py)指定源文件和目标路径,但这个错误一直存在。集群本身是正常运行的,节点之间通信没问题,不带sbcast的sbatch脚本我也能成功提交执行。
一年后再次尝试的问题情况
之前的方案没能解决问题,现在我又回来排查,发现计算节点似乎根本无法访问主节点上要传输的文件。比如我用这个脚本:
#!/bin/bash #SBATCH --job-name=sbcastjob #SBATCH --output=sbcast_%j.out #SBATCH --error=sbcasterror_%j.txt sbcast test.py ~/test.py srun ~/test.py
执行提交命令:
sbatch --nodes=1 sbcasttestscript.sh
返回信息是:
Submitted batch job 102
但错误日志里显示:
sbcast: error: Can't open test.py: No such file or directory
srun: error: temple-comp01: task 0: Exited with exit code 2
slurmstepd: error: execve(): /home/user/test.py: No such file or directory
不管我怎么指定路径,这个问题都存在。我怀疑可能是集群配置层面的问题,或者我对Slurm的工作原理有误解——我是在主节点上执行sbatch命令提交bash脚本,期望把主节点上的python脚本传到计算节点并执行。
有没有大佬能给点排查方向或者解决方案?谢谢大家!
备注:内容来源于stack exchange,提问作者paul runner

