我在Ubuntu机器上安装了Torque(它是服务器和唯一的节点)。除了最终确定部分之外,似乎工作正常。
当工作结束时,我会得到像
这样的东西PBS Job Id: 17.ubuntu-server
Job Name: dm.job
Exec host: ubuntu-server/0
An error has occurred processing your job, see below.
Post job file processing error; job 17.ubuntu-server on host ubuntu-server/0
Unable to copy file /var/spool/torque/spool/17.ubuntu-server.OU to user@ubuntu-server:/home/user/test/dm.job.o17
*** error from copy
Permission denied (publickey,password).
lost connection
*** end error output
Output retained on that host in: /var/spool/torque/undelivered/17.ubuntu-server.OU
Unable to copy file /var/spool/torque/spool/17.ubuntu-server.ER to user@ubuntu-server:/home/user/test/dm.job.e17
*** error from copy
Permission denied (publickey,password).
lost connection
*** end error output
Output retained on that host in: /var/spool/torque/undelivered/17.ubuntu-server.ER
据我所知,问题是使用ssh密钥进行身份验证。它试图将一些文件scp到作业文件夹,但ssh权限是错误的。我将自己的id_rsa.pub
放入authorized_keys
(和根也是),但仍然没有运气。
所以有几个问题相关:
运行哪些用户作业?我想,如果我写qsub dm.job
,它会在我的用户下运行。因此,如果我能够从user@ubuntu-server
ssh到user@ubuntu-server
(我是),那么作业输出scp'ing(仍然是)应该没有问题。如果是执行作业的root用户,那么需要如何正确设置ssh凭据和密钥?
如何解决此权限错误?
稍微偏离主题,但相关性很强。为什么有几个脚本名称无法识别?例如,我可以写
> julia -v
julia version 0.6.0
在root和我之下。但是当我在工作中运行时,它会记录
/var/spool/torque/mom_priv/jobs/18.ubuntu-server.SC: line 5: julia: command not found
答案 0 :(得分:0)
作业未从提交节点运行;它被分配给计算节点执行,因此该文件正在从该计算节点scp到您提交的节点。您可以通过运行qstat -f | grep exec_host
来检查作业的运行位置。前面应该有类似hostname \ index的东西,之后可能会有一些东西。第一个主机名是作业执行的位置(除非你是Cray,在这种情况下它是第二个主机名)。