You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Slurm提交任务时规避密钥环密码验证并解决路径错误

解决Slurm提交CDS数据下载任务的两个问题

问题1:slurm_script不是目录错误

出现slurmstepd: error: execve(): /var/spool/slurmd/job....../slurm_script: Not a directory错误,按以下步骤排查解决:

  • 检查Slurm提交脚本的shebang行:确保第一行是#!/bin/bash(或你使用的对应shell路径),不能写成目录路径。
  • 赋予提交脚本可执行权限:执行chmod +x your_submit_script.sh,确保Slurm能正常执行该脚本。
  • 核对提交命令:确认srun或sbatch后面跟的是脚本文件路径,而非目录,比如正确命令是sbatch ./download_cds.sh,不是sbatch ./some_directory/。

问题2:密钥环密码交互问题

直接运行Rscript file.R需要输入密钥环密码,Slurm任务无交互环境,解决方法如下:

  • 推荐方案:使用CDS API配置文件
    1. 在用户主目录创建.cdsapirc文件,内容格式:
      url: https://cds.climate.copernicus.eu/api/v2
      key: 你的CDS用户UID:你的API密钥
      
    2. 在R脚本开头添加环境变量配置,让cdsapi读取该文件:
      Sys.setenv(CDSAPI_RC = "~/.cdsapirc")
      library(cdsapi)
      
  • 备选方案:预解锁密钥环(仅适配特定集群环境)
    在Slurm提交脚本中添加解锁密钥环的命令,避免交互需求:
    eval $(gnome-keyring-daemon --start)
    export SSH_AUTH_SOCK
    
    注意:这种方法依赖集群的密钥环服务配置,不一定适用于所有集群。

内容的提问来源于stack exchange,提问作者CovetTachi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:46:43