Dask jobqueue 作业因许可而被杀死
Dask jobqueue job killed due to permission
我正在尝试在我们的 HPC 系统上使用 Dask 作业队列。这是我使用的代码:
from dask_jobqueue import SLURMCluster
cluster = SLURMCluster(cores=2, memory='20GB', processes=1,
log_directory='logs',
death_timeout=6000, walltime='8:00:00',
shebang='#!/usr/bin/ bash')
cluster.scale(5)
from dask.distributed import Client
client = Client(cluster)
执行代码后,我可以使用squeue
检查提交的作业,我可以看到其中5个处于运行 R
状态。但工作在几秒钟后被杀死。在 .err
文件中,我发现了这条消息:
slurmstepd-midway2-0354: error: execve(): /tmp/slurmd/job10469239/slurm_script: Permission denied
我是 Dask 的新手,不确定哪里出了问题。任何想法将不胜感激!谢谢!
主要问题是 shebang 的规格不正确:
# ...
shebang='#!/usr/bin/env bash')
# ...
根据您的 SLURM 设置,您可能还需要指定 queue
(适当的 SLURM 集群分区)。
以防日后出现问题,您可以检查dask_jobqueue
提交的脚本使用:
print(cluster.job_script())
我正在尝试在我们的 HPC 系统上使用 Dask 作业队列。这是我使用的代码:
from dask_jobqueue import SLURMCluster
cluster = SLURMCluster(cores=2, memory='20GB', processes=1,
log_directory='logs',
death_timeout=6000, walltime='8:00:00',
shebang='#!/usr/bin/ bash')
cluster.scale(5)
from dask.distributed import Client
client = Client(cluster)
执行代码后,我可以使用squeue
检查提交的作业,我可以看到其中5个处于运行 R
状态。但工作在几秒钟后被杀死。在 .err
文件中,我发现了这条消息:
slurmstepd-midway2-0354: error: execve(): /tmp/slurmd/job10469239/slurm_script: Permission denied
我是 Dask 的新手,不确定哪里出了问题。任何想法将不胜感激!谢谢!
主要问题是 shebang 的规格不正确:
# ...
shebang='#!/usr/bin/env bash')
# ...
根据您的 SLURM 设置,您可能还需要指定 queue
(适当的 SLURM 集群分区)。
以防日后出现问题,您可以检查dask_jobqueue
提交的脚本使用:
print(cluster.job_script())