
作業系統版本: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與提交節點的使用者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) 組=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 中明確定義的所有其他節點
參考:在扭力管理指南 pdf 中搜尋作業執行的錯誤 UID。