首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sun网格引擎出现drmaa错误-没有活动会话

sun网格引擎出现drmaa错误-没有活动会话
EN

Stack Overflow用户
提问于 2014-06-02 02:26:08
回答 1查看 505关注 0票数 0

您好,我已经使用以下命令在一个4节点集群上安装了gridengine:

代码语言:javascript
复制
sudo apt-get install gridengine-client gridengine-qmon gridengine-exec gridengine-master
sudo apt-get install gridengine-exec gridengine-client

然后它返回了:

代码语言:javascript
复制
SGE_ROOT: /var/lib/gridengine
SGE_CELL: bms

因此,我已经完成了配置网格引擎的所有必要步骤,并且它可以工作。

但是,我想使用python drmaa库来运行作业,并且我已经在主节点上安装了:

代码语言:javascript
复制
sudo apt-get install libdrmaa-dev
pip install drmaa

因此,如果我使用以下脚本查询系统:

代码语言:javascript
复制
#!/usr/bin/env python
import drmaa
def main():
    """Query the system."""
    s = drmaa.Session()
    s.initialize()
    print 'A DRMAA object was created'
    print 'Supported contact strings: ' + s.contact
    print 'Supported DRM systems: ' + str(s.drmsInfo)
    print 'Supported DRMAA implementations: ' + str(s.drmaaImplementation)
    print 'Version ' + str(s.version)
    print 'Exiting'
    s.exit()
if __name__=='__main__':
    main()

它返回:

代码语言:javascript
复制
 A DRMAA object was created
 Supported contact strings: session=NGS-1.9217.1679116461
 Supported DRM systems: GE 6.2u5
 Supported DRMAA implementations: GE 6.2u5
 Version 1.0
 Exiting

但是,如果我尝试使用链接建议的脚本运行作业:http://code.google.com/p/drmaa-python/wiki/Tutorial#Running_a_Job

它返回

代码语言:javascript
复制
drmaa.errors.NoActiveSessionException: code 5: No active session

有人能帮帮我吗?怎么了。drmaa库看起来能够与gridengine通信,但它不能运行作业。为什么会出现这个错误?我真的很感激任何形式的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-07-31 19:13:43

您会发现使用DRMAA运行作业的示例不会初始化会话,因此只需在创建新会话s= drmaa.Session()后添加s.initialize(),如下所示:

代码语言:javascript
复制
#!/usr/bin/env python

import drmaa
import os

def main():
   """Submit a job.
   Note, need file called sleeper.sh in current directory.
   """
   s = drmaa.Session()
   s.initialize()
   print 'Creating job template'
   jt = s.createJobTemplate()
   jt.remoteCommand = os.getcwd() + '/sleeper.sh'
   jt.args = ['42','Simon says:']
   jt.joinFiles=True

   jobid = s.runJob(jt)
   print 'Your job has been submitted with id ' + jobid

   print 'Cleaning up'
   s.deleteJobTemplate(jt)
   s.exit()

if __name__=='__main__':
    main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23983050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档