Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

书接上文,貌似配置还有点问题。跑了半天以后迟迟看不到结果,htop一看CPU占用几乎为0,应该是没跑起来,squeue 再一看,状态是PD,意思是等待,正常情况应该是R。于是我有网上找了下原因,说只有空闲条件满足job的运行条件才会运行。

我做了以下操作:

  1. scancle 掉所有队列里的人物
  2. 修改slurm.config 的参数稍大一些
  3. 重新启动sudo systemctl restart slurmd & sudo systemctl restart slurmctld
  4. 更改bash metaGEM.sh -t fastp -j 2 -c 2 -m 10 -h 2 中m(内存)的大小和j(任务数量)的大小
  5. 运行报错
1
2
sbatch: error: Memory specification can not be satisfied
sbatch: error: Batch job submission failed: Requested node configuration is not available

再排查一下scontrol show nodes

我们熟悉的报错又回来了(状态又是drain)

Untitled

查了好久好久在sudo cat /var/log/slurm-llnl/slurmctld.log 里面找到了错误

Untitled

就是NodeName那一行的配置Sockets和CoresPerSocket不仅要小于上一章讲的bash cxc.sh 的文件中的值,还要小于日志文件中数字前面的值,如(20<Sockets_CoresPerSocket) 那么Sockets_CoresPerSocket的积要小于20才可以。

如果日志长这样那么八成就可以启动了

Untitled

然后我们输入,改变节点的状态成空闲(注意一定要是sudo权限)

1
sudo scontrol update NodeName=your_node_name State=idle

1.问题:成功运行程序但是瞬间完成,并无输出结果

排查!

/var/log/slurm-llnl/slurmctld.log 里面显示

1
2
3
[2024-01-29T15:37:19.292] sched: Allocate JobId=73 NodeList=your_computer #CPUs=8 Partition=your_computer
[2024-01-29T15:37:20.367] _job_complete: JobId=73 WEXITSTATUS 1
[2024-01-29T15:37:20.367] _job_complete: JobId=73 done

再排查/var/log/slurm-llnl/slurmd.log

Untitled

无法创建输出文件

这属于slurm的BUG之一,只能先创建文件然后再创建文件夹 所以我们是能手动mkdir log 然后再运行

2.运行时日志文件中报错/usr/bin/bash: line 2: activate: No such file or directory

Untitled

猜测是这里面envs/metagem 的工作路径有变化,所以我们改成绝对路径试一下

1
set +u;source activate envs/metagem;set -u;

如何更改,提交给slurm处理的脚本是由snakemake生成的,因此我们找到这一句

1
source activate {config[envs][metagem]}

发现读取的config是config.ymal文件

243523435

应该在config.yaml文件里改这里,改成绝对路径

5234234

原来不是这个问题(服了)

当使用source activate env_name时,设置conda路径到环境变量即可

1
export PATH="/home/gc/anaconda3/bin:$PATH"

另外再shell脚本中启用conda环境一定要使用source不能使用conda。

Untitled

成功运行(泪目)!!!

成功运行(泪目)!!

成功运行(泪目)!

成功运行(泪目

成功运行(泪

成功运行(

成功运行

成功运

成功

评论