操作系统版本:CentOS 版本 4.6(最终版)内核 \r 位于 \m 2.6.9-100.ELsmp 上
当我尝试运行一项作业时,它给出了如下错误。
qsub: Bad UID for job execution
我创建了一个新的用户帐户,并且出现了同样的错误,但同一台机器上的其他用户可以毫无问题地运行作业。
我该如何修复此问题?
答案1
说明在这里:http://www.bo.infn.it/alice/introgrd/pbsabout/node18.html建议您以错误的用户身份运行它。
Invalid user in #PBS -u new-user $ qsub sube.cmd qsub: Bad UID for job execution
用户列表中定义的用户名未定义或与作业提交者的用户名不同,或者执行节点上的用户 UID 和 GID 与提交节点上的不同。在这种情况下,首先检查 #PBS -u 指令是否指定了有效用户,然后检查用户 ID 是否相同:
$ id
whoami
uid=501(myusrname) gid=501(myusrname) groups=501(myusrname) $ grep -e "PBS -u" cpbs.cmdPBS -u alice001 $ id alice001 uid=10417(alice001) gid=1395(alice) groups=1395(alice)
并根据需要更改#PBS -u。
答案2
添加主机/etc/hosts.equiv解决了我的问题。
但我已经将这些行添加到了qmgr
。
set server operators += [email protected]
set server acl_users += username
set server managers += [email protected]
set server acl_hosts += servername.local
set server operators += [email protected]
然后我做了一个/etc/init.d/pbs_server restart
。
您可以重新启动PBS_服务器即使您已经在运行。
您不必将服务器添加到/etc/hosts.equiv如果你在运行PBS_服务器。
答案3
我知道这个问题有点老了,但我最近遇到了这个问题并执行了以下步骤:
- 确保相关用户的 UID 和 GID 在集群内匹配
qmgr -c "set server flatuid=true"
qmgr -c "set server acl_roots+=username@*"
qmgr -c "set server operators+=username@*"
这里 * 是所有主机的通配符。效果很好!可能不是超级安全,但绝对有效!
答案4
两个程序:
在 /etc/passwd 文件末尾添加“+::::::”
确保用户提交作业的节点在文件 /etc/hosts.equiv 中正确定义所有其他节点
参考:在 Torque 管理指南 pdf 中搜索作业执行的 Bad UID。